Segmentation fault on Alpine v3.9

Hi,
when I'm compile Xapiand 0.23 for Alpine Linux v3.9 (g++-8.3.0, libstdc++-8.3.0-r0, musl-1.1.20-r4) and then run it and try to insert some data into a clean index using an empty database dir as a starting point, the Xapiand process crashes with SIGSEGV error.
Data insertion is performed with the following request:
curl -v  -X POST --data-binary @accounts.ndjson -H 'Content-Type: application/x-ndjson' 'http://localhost:8880/bank/:restore'
If I run xapiand with valgrind (w/ default settings) after compiling it with -DCMAKE_BUILD_TYPE=RelWithDebInfo (full log is in attachments):
$ valgrind /usr/bin/xapiand -vvvv --uid 1000  --database /tmp/xapiand --bind-address=<IP_ADDRESS> --port=8880 --solo

... trimmed to a relevant part only ...

==5640== Thread 25 Xapiand:SU00:
==5640== Invalid read of size 8
==5640==    at 0x5C06FF: lock (std_mutex.h:103)
==5640==    by 0x5C06FF: lock_guard (std_mutex.h:162)
==5640==    by 0x5C06FF: enqueue (concurrent_queue.h:54)
==5640==    by 0x5C06FF: Discovery::schema_updated_send(unsigned long, std::basic_string_view<char, std::char_traits<char> >) (discovery.cc:1438)
==5640==    by 0x42EE4D: __invoke_impl<void, void (*&)(long unsigned int, std::__cxx11::basic_string<char>), long unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (invoke.h:60)
==5640==    by 0x42EE4D: __invoke<void (*&)(long unsigned int, std::__cxx11::basic_string<char>), long unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (invoke.h:95)
==5640==    by 0x42EE4D: __apply_impl<void (*&)(long unsigned int, std::__cxx11::basic_string<char>), std::tuple<long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, 0, 1> (tuple:1678)
==5640==    by 0x42EE4D: apply<void (*&)(long unsigned int, std::__cxx11::basic_string<char>), std::tuple<long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&> (tuple:1687)
==5640==    by 0x42EE4D: operator() (debouncer.h:135)
==5640==    by 0x42EE4D: operator() (debouncer.h:126)
==5640==    by 0x42EE4D: operator() (scheduler.h:83)
==5640==    by 0x42EE4D: operator() (threadpool.hh:132)
==5640==    by 0x42EE4D: ThreadPoolThread<std::shared_ptr<ScheduledTask<ThreadedScheduler<DebouncerTask<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void (*)(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), std::tuple<unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, (ThreadPolicyType)9>, (ThreadPolicyType)0>, DebouncerTask<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void (*)(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), std::tuple<unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, (ThreadPolicyType)9>, (ThreadPolicyType)0> >, (ThreadPolicyType)0>::operator()() (threadpool.hh:339)
==5640==    by 0x42F983: Thread<ThreadPoolThread<std::shared_ptr<ScheduledTask<ThreadedScheduler<DebouncerTask<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void (*)(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), std::tuple<unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, (ThreadPolicyType)9>, (ThreadPolicyType)0>, DebouncerTask<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void (*)(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), std::tuple<unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, (ThreadPolicyType)9>, (ThreadPolicyType)0> >, (ThreadPolicyType)0>, (ThreadPolicyType)0>::_runner(void*) (thread.hh:80)
==5640==    by 0x4F1982D: ??? (in /usr/lib/libstdc++.so.6.0.25)
==5640==    by 0x40524D7: ??? (in /lib/ld-musl-x86_64.so.1)
==5640==  Address 0x5d8 is not stack'd, malloc'd or (recently) free'd
==5640==
==5640==
==5640== Process terminating with default action of signal 11 (SIGSEGV)
==5640==  Access not within mapped region at address 0x5D8
==5640==    at 0x5C06FF: lock (std_mutex.h:103)
==5640==    by 0x5C06FF: lock_guard (std_mutex.h:162)
==5640==    by 0x5C06FF: enqueue (concurrent_queue.h:54)
==5640==    by 0x5C06FF: Discovery::schema_updated_send(unsigned long, std::basic_string_view<char, std::char_traits<char> >) (discovery.cc:1438)
==5640==    by 0x42EE4D: __invoke_impl<void, void (*&)(long unsigned int, std::__cxx11::basic_string<char>), long unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (invoke.h:60)
==5640==    by 0x42EE4D: __invoke<void (*&)(long unsigned int, std::__cxx11::basic_string<char>), long unsigned int&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&> (invoke.h:95)
==5640==    by 0x42EE4D: __apply_impl<void (*&)(long unsigned int, std::__cxx11::basic_string<char>), std::tuple<long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, 0, 1> (tuple:1678)
==5640==    by 0x42EE4D: apply<void (*&)(long unsigned int, std::__cxx11::basic_string<char>), std::tuple<long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&> (tuple:1687)
==5640==    by 0x42EE4D: operator() (debouncer.h:135)
==5640==    by 0x42EE4D: operator() (debouncer.h:126)
==5640==    by 0x42EE4D: operator() (scheduler.h:83)
==5640==    by 0x42EE4D: operator() (threadpool.hh:132)
==5640==    by 0x42EE4D: ThreadPoolThread<std::shared_ptr<ScheduledTask<ThreadedScheduler<DebouncerTask<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void (*)(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), std::tuple<unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, (ThreadPolicyType)9>, (ThreadPolicyType)0>, DebouncerTask<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void (*)(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), std::tuple<unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, (ThreadPolicyType)9>, (ThreadPolicyType)0> >, (ThreadPolicyType)0>::operator()() (threadpool.hh:339)
==5640==    by 0x42F983: Thread<ThreadPoolThread<std::shared_ptr<ScheduledTask<ThreadedScheduler<DebouncerTask<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void (*)(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), std::tuple<unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, (ThreadPolicyType)9>, (ThreadPolicyType)0>, DebouncerTask<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void (*)(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), std::tuple<unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, (ThreadPolicyType)9>, (ThreadPolicyType)0> >, (ThreadPolicyType)0>, (ThreadPolicyType)0>::_runner(void*) (thread.hh:80)
==5640==    by 0x4F1982D: ??? (in /usr/lib/libstdc++.so.6.0.25)
==5640==    by 0x40524D7: ??? (in /lib/ld-musl-x86_64.so.1)
==5640==  If you believe this happened as a result of a stack
==5640==  overflow in your program's main thread (unlikely but
==5640==  possible), you can try to increase the size of the
==5640==  main thread stack using the --main-stacksize= flag.
==5640==  The main thread stack size used in this run was 8388608.
==5640==
==5640== HEAP SUMMARY:
==5640==     in use at exit: 3,486,814 bytes in 4,921 blocks
==5640==   total heap usage: 48,507 allocs, 43,586 frees, 33,747,760 bytes allocated
==5640==
==5640== LEAK SUMMARY:
==5640==    definitely lost: 264,232 bytes in 2 blocks
==5640==    indirectly lost: 0 bytes in 0 blocks
==5640==      possibly lost: 3,484 bytes in 4 blocks
==5640==    still reachable: 3,219,098 bytes in 4,915 blocks
==5640==                       of which reachable via heuristic:
==5640==                         newarray           : 48 bytes in 2 blocks
==5640==         suppressed: 0 bytes in 0 blocks
==5640== Rerun with --leak-check=full to see details of leaked memory
==5640==
==5640== For counts of detected and suppressed errors, rerun with: -v
==5640== Use --track-origins=yes to see where uninitialised values come from
==5640== ERROR SUMMARY: 29081 errors from 174 contexts (suppressed: 0 from 0)
==5640== could not unlink /tmp/vgdb-pipe-from-vgdb-to-5640-by-root-on-???
==5640== could not unlink /tmp/vgdb-pipe-to-vgdb-from-5640-by-root-on-???
==5640== could not unlink /tmp/vgdb-pipe-shared-mem-vgdb-5640-by-root-on-???
Segmentation fault

If I compile Xapiand with -DCLUSTERING="OFF" the crash wont occur
.
For reference, I'm building xapiand using this APKBUILD:
# Contributor: Jiri Spacek<EMAIL_ADDRESS># Maintainer: Jiri Spacek<EMAIL_ADDRESS>pkgname=xapiand
_pkgname="$(echo ${pkgname:0:1} | tr '[:lower:]' '[:upper:]')${pkgname:1}"
pkgver=0.23.0
pkgrel=0
pkgdesc="A Modern Highly Available Distributed RESTful Search and Storage Engine built for the Cloud and with Data Locality in mind."
url="https://kronuz.io/Xapiand/"
arch="x86_64"
license="Apache-2.0"
depends="zlib icu"
makedepends="cmake tcl perl ninja util-linux-dev zlib-dev icu-dev"
install="$pkgname.pre-install"
source="$pkgname-$pkgver.tar.gz::https://github.com/Kronuz/Xapiand/archive/v$pkgver.tar.gz
        $pkgname.initd
        $pkgname.confd
"
builddir="$srcdir/$_pkgname-$pkgver"
pkgusers="$pkgname"
pkggroups="$pkgname"
subpackages="$pkgname-doc $pkgname-openrc"
options="!check !strip" # tests are disabled for now
_bootstrapdir="$builddir"/build

build() {
        mkdir -p "$_bootstrapdir"
        cd "$_bootstrapdir"
        cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX="/usr" -GNinja "$builddir"
        ninja -j1
}

package() {
    cd "$_bootstrapdir"

    DESTDIR="$pkgdir" ninja install

    install -Dm755 "$srcdir"/"$pkgname".initd \
            "$pkgdir"/etc/init.d/"$pkgname"
    install -Dm644 "$srcdir"/"$pkgname".confd \
            "$pkgdir"/etc/conf.d/"$pkgname"

}

The compile flags are:
-- Compile flags: -Os -fomit-frame-pointer -std=c++17 -fno-common -fdiagnostics-color=always -Wno-attributes -Wno-subobject-linkage -D_Atomic=volatile -O2 -g -DNDEBUG
Thank you.

Thanks for reporting the issue. I think It should be fixed by b18968c


Update obsidian extension

Description
Fixes append to daily note to work as fallback command. This can make it easy to quickly append some text.
Screencast
https://github.com/raycast/extensions/assets/6912589/97a5656b-13b6-4f61-80fa-3cd4b03bff50
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Thanks for your contribution 🔥
Could you check this @KevinBatdorf 🙂

Hey @casassg Thanks for the PR. I think the PR is fine since it's supporting the fallback, and if you dont pass in the text it will read undefined (I initially expected this to throw actually)
But based on the video you shared, it doesn't seem like you are using this change in it? I don't think it's a blocker actually, but do you want to mention how you're using it? Could be something in Raycast I'm out of date on actually, or a misunderstanding elsewhere?
By the way, if you want to use the launchCommand to invoke the daily note command, you could use this signature and woulnd't need the fallback text.
await launchCommand({
    name: "dailyNoteAppendCommand",
    type: LaunchType.UserInitiated,
    arguments: { text: "foo" },
  });

Overall, I don't see any reason not to support the fallback text though except maybe it should be added to every command. Or if you just didn't know how to add the arguments to the function.

Hi @casassg 👋
Could you check the response from Kevin?


UPD AddressApiClient - deleteAddresses use AddressResource name

use Address resource name from destination object or request name of address resource via rest-api

failed in CI, I'm working on fix

First: thanks for the PR, I really like your solution. :+1:
I didn't know that 'sanitize' is so easy. I disagree with the option for deploy, I would prefer set some boolean parameter on Destination (autoGenerate=false/true) because when we set Name within Destination and we don't use this name during deploy, then is impossible to determine which addresses were deployed with 'dest.Name' and which were deployed with autogenerated Name.
So if autoGenerate is true then we should request Name of resource via rest-api and put it into the delte/replace request. What do you think about that?


[ISSUE#161] run tests on CI when PR gets created

Resolves #161
Proposed changes

add the dotenv lib for env management
add the http-simple-proxy lib for running app locally
add a Github Actions config for running Playwright auto-checks: \.github\workflows\ci_tests_autochecks.yml
adjust the project config so that app can be run on 2 environments: playwright.config.ts
add an .env file with 3 variables, with the crucial one being the local which works as the environment switch
add a global-setup for logging current environment flag
-> when local=true set in .env, it indicates that the tests will be run locally using the http-simple-proxy lib
-> conversely, when local=false is set in the .env file, it signifies that the tests will be run in the production env
adjust tests so that it's possible to run it on both local env and prod

Out of scope, not-related changes

add 2 libs: eslint plugin and parser for TypeScript support
add cmd for running pw tests to package.json: "test:": "npx playwright test --headed"
add missing tsconfig.ts

@lovishprabhakar : I don't have an option to test the solution on CI directly. Can you help me out with this pls? :)

@lovishprabhakar : I don't have an option to test the solution on CI directly. Can you help me out with this pls? :)

@bugITwhisperer : I actually don't have much experience with the testing, so if you can explain a bit about what you need help with, I'll do my best to provide help.

@lovishprabhakar : what I was expecting here in this PR is info-box about test-run checks job that was triggered on GitHub Actions:

however I cannot see any runs o the tests on CI here: https://github.com/lovishprabhakar/CSCentral-Hacktoberfest/actions
There are only 3 of your defined workflows: Assign, Create a comment on new issues., pages-build-deployment. I was expecting
a new workflow to be visible: Run Playwright API Auto-Checks on CI
https://github.com/lovishprabhakar/CSCentral-Hacktoberfest/blob/0b2a79c1953c2bbe9e3074eed1f4f1d338bb4cd4/.github/workflows/ci_tests_autochecks.yml
I guess that w/out merging my changes we won't be able to see whether the new workflow works fine?

@lovishprabhakar : what I was expecting here in this PR is an info-box about status of the test-run-checks job that was triggered on GitHub Actions:
however I cannot see any runs of the tests on CI here. There are only 3 of your defined workflows: Assign, Create a comment on new issues., pages-build-deployment.
I was expecting a new workflow to be visible: Run Playwright auto-checks as per my changes
I guess that w/out merging my changes we won't be able to see whether the new workflow works fine?

@bugITwhisperer: as per my knowledge the changes should have been reflected on your local repository, but let me confirm this, I'll merge this PR then create another sample PR to check workflows.

@bugITwhisperer: the workflow does work after merging but it is still stuck at Run http-server. That is why it is taking so long to reflect, as I am writing this comment, it is still running for about 4 minutes. I hope that makes some things clear 😅

Makes perfect sense, thank you. I've already got an idea how to fix this 💡


[Core] Remove react-tap-event-plugin from peer dependencies

I think this was slated to be done as part of 0.16. Let me know if anything has changed.
Related to #4149

I'm all 👍  for this change. Should we remove it from the devDependency too?
Later one, we will have to remove it from the docs.

Should we remove it from the devDependency too?

Just did it, thanks for reminding me!

Later one, we will have to remove it from the docs.

I actually just looked and doesn't look like the docs has it.

I actually just looked and doesn't look like the docs has it.

http://www.material-ui.com/#/get-started/installation


account->reports()->instances() Broken, Incomplete

I'm trying to use the Reports interface but it looks like it was started but never completed.
I'm trying to:

Get the Report Template for id 37 (don't think there are parameters but going for completeness)
POST to account->reports()->instances() to create a report
Loop on GET account->reports->instance(id) to see if it is done
Download the Report file.

The ReportInstance class is incomplete and misspelled as ReportInctace on line 101 of ReportsModel.php, and while GET instances() seems to be implemented, POST is not.
https://github.com/Bandwidth/php-bandwidth-iris/blob/1a6182e94052f1ac675b46fb943a10e83c076ca0/src/ReportsModel.php#L99-L103
class ReportInstance
https://github.com/Bandwidth/php-bandwidth-iris/blob/1a6182e94052f1ac675b46fb943a10e83c076ca0/src/ReportsModel.php#L113-L118
Once completed the main docs should be updated too.

Here's a start on the model:
  final class InstanceParameters {
      use BaseModel;

      protected $fields = array(
          "Parameter" => array("type" => "\Iris\InstanceParameter")
      );
      public function __construct($data) {
          $this->set_data($data);
      }
  }

  final class InstanceParameter {
      use BaseModel;

      protected $fields = array(
          "Name" => array("type" => "string"),
          "Value" => array("type" => "string"),
      );
      public function __construct($data) {
          $this->set_data($data);
      }
  }

  final class ReportInstance extends RestEntry{
      use BaseModel;

!2    protected $fields = array(
          "Id" => array("type" => "string"),
          "ReportId" => array("type" => "string"),
          "ReportName" => array("type" => "string"),
          "OutputFormat" => array("type" => "string"),
          "RequestedByUserName" => array("type" => "string"),
          "RequestedAt" => array("type" => "string"),
          "Parameters" => array("type" => "\Iris\InstanceParameters"),
          "Status" => array("type" => "string"),
          "ExpiresAt" => array("type" => "string"),
      );

Hey @ooglek we'll be looking into this this week! If you have any work you've done feel free to submit a PR and we can look at it. Thanks!

The work I started is pasted above. I don't know what your coding and naming standards are, so I did not create all the InstanceParameter stuff any further than the model. I also didn't break it out into its own file.
I ended up working around it by making API calls directly. But if you get this done, I'll happily test it if you want to throw it on a branch.

Unrelated but while I have your attention (I'll test your branch shortly)
In core/Client.php there is an opportunity to return the previous exception which caused the ResponseException with the raised new exception. This is wildly useful when trying to get the response message from bandwidth! We were having issues where Ports were being submitted, rejected, but the response data was not programmatically accessible from the ResponseException.
We made this change locally to allow us to access the error in full from the Guzzle response.
Index: include/common/port_functions.inc
===================================================================
--- include/common/port_functions.inc   (revision 5332)
+++ include/common/port_functions.inc   (revision 5333)
@@ -718,6 +718,12 @@
             $eclass = get_class($e);
             warning("portid:{$port['portid']} API threw unhandled {$eclass} exception " . $output);
             $errorMsg = "Unexpected error occurred";
+            try {
+                $doc = @simplexml_load_string($e->getPrevious()->getResponse()->getBody(true)->getContents());
+                warning("portid:{$port['portid']} xmltostring:" . strval($doc));
+            } catch (Exception $e2) {
+                warning("portid:{$port['portid']} xmltostring failed: " . $e->getMessage());
+            }
         }
         return 0;
     }
Index: include/vendor/bandwidth/iris/core/Client.php
===================================================================
--- include/vendor/bandwidth/iris/core/Client.php       (revision 5332)
+++ include/vendor/bandwidth/iris/core/Client.php       (revision 5333)
@@ -375,7 +375,8 @@
         {
             throw new ResponseException(
                 (string) $doc->ResponseStatus->Description,
-                (int) $doc->ResponseStatus->ErrorCode
+                (int) $doc->ResponseStatus->ErrorCode,
+                $e
             );
         }

@@ -386,10 +387,15 @@
         {
             throw new ResponseException(
                 (string) $doc->Error->Description,
-                (int) $doc->Error->Code
+                (int) $doc->Error->Code,
+                $e,
             );
         }

-        throw new ResponseException($e->getMessage(), $e->getResponse()->getStatusCode());
+        throw new ResponseException(
+            $e->getMessage(),
+            $e->getResponse()->getStatusCode(),
+            $e
+        );
     }
 }

If I use my own account in production, I get an array with a single "Report" back, and it doesn't have an accessible property Id despite it being of class Iris\Report.
Same in development.
I'd assume reports()->getList() would return a more-full list of reports. It does not seem to.
I'll re-test when you have more code.
Also, array() should be lowercase for both PHP5 and 7.

Hey I had a small bug with looping the response which is why you were only getting 1 report and that it didn't have the properties. That should be fixed now (fixed the same issue with looping on instances as well)

Unrelated but while I have your attention (I'll test your branch shortly)
In core/Client.php there is an opportunity to return the previous exception which caused the ResponseException with the raised new exception. This is wildly useful when trying to get the response message from bandwidth! We were having issues where Ports were being submitted, rejected, but the response data was not programmatically accessible from the ResponseException.
We made this change locally to allow us to access the error in full from the Guzzle response. The base PHP Exception provides an $e->getPrevious() method that if populated references the previous exception that caused the current exception.
https://www.php.net/manual/en/class.exception.php
Index: include/common/port_functions.inc
===================================================================
--- include/common/port_functions.inc   (revision 5332)
+++ include/common/port_functions.inc   (revision 5333)
@@ -718,6 +718,12 @@
             $eclass = get_class($e);
             warning("portid:{$port['portid']} API threw unhandled {$eclass} exception " . $output);
             $errorMsg = "Unexpected error occurred";
+            try {
+                $doc = @simplexml_load_string($e->getPrevious()->getResponse()->getBody(true)->getContents());
+                debug("portid:{$port['portid']} xmltostring:" . strval($doc));
+            } catch (Exception $e2) {
+                warning("portid:{$port['portid']} xmltostring failed: " . $e2->getMessage());
+            }
         }
         return 0;
     }
Index: include/vendor/bandwidth/iris/core/Client.php
===================================================================
--- include/vendor/bandwidth/iris/core/Client.php       (revision 5332)
+++ include/vendor/bandwidth/iris/core/Client.php       (revision 5333)
@@ -375,7 +375,8 @@
         {
             throw new ResponseException(
                 (string) $doc->ResponseStatus->Description,
-                (int) $doc->ResponseStatus->ErrorCode
+                (int) $doc->ResponseStatus->ErrorCode,
+                $e
             );
         }

@@ -386,10 +387,15 @@
         {
             throw new ResponseException(
                 (string) $doc->Error->Description,
-                (int) $doc->Error->Code
+                (int) $doc->Error->Code,
+                $e,
             );
         }

-        throw new ResponseException($e->getMessage(), $e->getResponse()->getStatusCode());
+        throw new ResponseException(
+            $e->getMessage(),
+            $e->getResponse()->getStatusCode(),
+            $e
+        );
     }
 }

I'll talk to the team about adding this! Definitely should be considered. Thank you!

Any chance either of these have been addressed or considered? I'd love to see the changes.

It looks like the original issue was resolved by @jmulford-bw so im going to go ahead and consider this stale and close it.
As for the added original exception functionality - if that is still desired @ooglek would you mind opening a separate issue and we can triage that?
Apologies for the delay - @jmulford-bw is no longer with the team and this wasn't passed off to anyone


Make document load plugin start its root span as soon as it loads

Currently the document load plugin starts its root span only after the load event when its ready to start collecting all the document load related spans (see relevant code in documentLoad.ts).
This means, however, that any custom spans or XHR-instrumented spans that happen during the document load won't be attached to the root span correctly since it won't be started until after the load is finished.
Could we make it so that the document load root span gets created as soon as the plugin is initialized so that other spans can fit into it?

@draffensperger I think that probably it should not be a part of document load plugin, but it should be a part of scope managers. The plugins can be loaded in different order, or the document load plugin don't even need to be loaded. However if click happens before document load event it should have still correct span and I think this should be responsibility of scope managers.

or a user interaction plugin

I agree that scope managers need to be the ones storing the current trace parent, and yes, plugins can be loaded in any order.
I guess what I'm saying is that the document load plugin isn't really making proper use of the scope manager, because it doesn't set its root span as the current span in the scope manager - it just generates it after the fact once the load event finishes. If it did set the span in the scope manager as soon as possible then it would  there in the scope manager for other plugins to attach onto (e.g. XHR).

closing this as it's not related to this repository anymore, the instrumentation has moved to open-telemetry/opentelemetry-js-contrib.


Permission error when running tutorial episode 04

Hi, I am new to metaflow and currently trying to run through the tutorials in my work environment. As a non-root user of conda, I don't have write permission for where conda is installed: /opt/miniconda, so I ran into this error when executing episode 04 in which @conda was used:
PermissionError: [Errno 13] Permission denied: '/opt/miniconda/mf_env-creation.lock'

Is there some configuration I can do to assign a new location where this mf_env-creation.lock will be written?
conda version = 4.8.3
metaflow version = 2.0.1

Thanks for opening the issue. We will make it configurable in the next release.

@xujiboy , I had the same issue and workaround was installing user level anaconda. When installing anaconda, you can choose "for all users" which will install /opt where you need sudo etc to write there, or choose "user only" installation with which you can install conda in your home directory which you will not get the error.

Hi @oonisim Thank you very much for the tip. My workspace situation is kinda constrained: conda was installed by admin in jupyterhub "for all users" and as users we are stuck with it. Although we can create virtual env with it we don't have write permission at /opt/.... Installing miniconda myself at my own user directory will probably mess up with the admin-installed one, so right now I am hesitant to go this route.

@xujiboy, could you let me know what it says when you run conda info in the envs directories section. Particularly interested to check if the directory listed there is writeable by you (I suspect it will be and may be something like ~/.conda/envs. If that is the case, I will make a patch to change the location of the lock file to that location. Making it configurable may have the undesired side-effect of not being a global enough lock but putting in where your environments are created may do the trick.

Hi @romain-intel Thank you very much for looking into this. Shown below is the output of conda info: (I hide the channel URLs as "..." since they are related to my workplace artifactory repos)
   active environment : base
    active env location : /opt/miniconda
            shell level : 1
       user config file : /home/ji.xu/.condarc
 populated config files : /etc/conda/.condarc
          conda version : 4.8.3
    conda-build version : not installed
         python version : 3.7.5.final.0
       virtual packages : __glibc=2.17
       base environment : /opt/miniconda  (read only)
           channel URLs : ...
          package cache : /opt/miniconda/pkgs
                          /home/ji.xu/.conda/pkgs
       envs directories : /home/ji.xu/.conda/envs
                          /opt/miniconda/envs
               platform : linux-64
             user-agent : conda/4.8.3 requests/2.22.0 CPython/3.7.5 Linux/3.10.0-957.21.2.el7.x86_64 centos/7.6.1810 glibc/2.17
                UID:GID : 1931:1001
             netrc file : None
           offline mode : False

So the admin-created base env is located at /opt/miniconda/envs, while any env that I created as a user are located at /home/ji.xu/.conda/envs, as you predicted. Do you think a patch can be made to place lock file there as you suggested? Many thanks~

I wanted to add that I am also experiencing the same error. We have conda installed using RPMs/DEBs.
For completeness, here is my full stack-trace:
$ python 04-playlist-plus/playlist.py --environment=conda run
Metaflow 2.2.0 executing PlayListFlow for user:pcarlos
Validating your flow...
    The graph looks good!
Running pylint...
    Pylint is happy!
2020-08-13 15:46:18.186 Bootstrapping conda environment...(this could take a few minutes)
    Internal error
Traceback (most recent call last):
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/metaflow/cli.py", line 884, in main
    start(auto_envvar_prefix='METAFLOW', obj=state)
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(args, kwargs)
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, ctx.params)
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(args, kwargs)
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/metaflow/cli.py", line 524, in wrapper
    return func(args, kwargs)
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context().obj, args, kwargs)
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/metaflow/cli.py", line 605, in run
    before_run(obj, tags, decospecs + obj.environment.decospecs())
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/metaflow/cli.py", line 661, in before_run
    obj.package = MetaflowPackage(obj.flow, obj.environment, obj.logger, obj.package_suffixes)
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/metaflow/package.py", line 32, in __init__
    deco.package_init(flow,
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/metaflow/plugins/conda/conda_step_decorator.py", line 215, in package_init
    self._prepare_step_environment(step, self.local_root)
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/metaflow/plugins/conda/conda_step_decorator.py", line 165, in _prepare_step_environment
    env_id = self._resolve_step_environment(ds_root)
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/metaflow/plugins/conda/conda_step_decorator.py", line 115, in _resolve_step_environment
    self.conda.create(self.step, env_id, deps, architecture=self.architecture)
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/metaflow/plugins/conda/conda.py", line 47, in create
    with CondaLock(self._env_lock_file(env_id)):
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/metaflow/plugins/conda/conda.py", line 213, in __enter__
    self._acquire()
  File "/home/pcarlos/.conda/envs/metaflow/lib/python3.8/site-packages/metaflow/plugins/conda/conda.py", line 190, in _acquire
    self.fd = os.open(self.lock, os.O_CREAT |
PermissionError: [Errno 13] Permission denied: '/opt/conda/mf_env-creation.lock'

@savingoyal It is possible that metaflow's logic for acquiring locks for conda is redundant with conda's own locking mechanism.

Apologies for the delay in response. Yes, I think we can make a patch for this. I will discuss with @savingoyal this week but we should be able to use the "envs directories" information to pick where to put the lock file. I do want to discuss with @savingoyal first to see if we still need the lock (maybe we can skip it as @sodre mentions).

Apologies for the delay in response. Yes, I think we can make a patch for this. I will discuss with @savingoyal this week but we should be able to use the "envs directories" information to pick where to put the lock file. I do want to discuss with @savingoyal first to see if we still need the lock (maybe we can skip it as @sodre mentions).

No issues, I issued a PR with the environments directory approach. Happy to help further if needed.

Thanks a lot. We will get this merged and you unblocked!


During session check, ignore messages with irrelevant origin

Handling messages from other iframes makes no sense and leads to memory leaks. Fixes https://github.com/manfredsteyer/angular-oauth2-oidc/issues/616

Looks good to me.

Thank you! Would you merge it in?

Ok, thanks for letting me know! Looking forward to the release containing this fix

@manfredsteyer could you please give a hint about when do you plan to merge this (and probably other PRs) and release a new version?


Error search query including timestamp filter on map widget

Describe the bug
Within the Map Widget, the search query is passed through geo server.
An error occurs when you add a filter to a column of type timestamp in query.
To Reproduce
Steps to reproduce the behavior:

Go to dashboard linked datasource including geo related column
Create map widget on dashboard
Put on geo related column on shelf
Add timestamp type of column on filter
Click to 'Specific'
See error

Expected behavior
It should be displayed to the specified filter conditions without error.
Screenshots

Desktop (please complete the following information):
(N/A)
Additional context
Fix with derived errors as below.

Default Timestamp value did not set

Mismatch end date time and date time of date picker component

@kyungtaak
맵차트의 경우 저희가 http://<IP_ADDRESS>:8180 서버를 바라보고 작업을 하고 있습니다.
다른 Testbed를 통해서라도 1055번 브랜치를 올려주실 수 있을까요?

@dave-taeho
해당 브랜치를 http://<IP_ADDRESS>:8180 이 쪽에다가 배포해두었습니다.

#1060 오류도 함께 처리해두었습니다.


Incorrect Mimetype/Content-Type Handling

I think there may be a bug in Content-Type/Mimetype handling.
If an operation has a single produces type defined in swagger and the implementation returns a flask Response object, both the swagger produces value and the Response object's content-type are returned. Example:
operationId: app.get_greeting
produces:
  - text/plain

with the implementation:
def post_greeting(name):
    response = flask.make_response('Hello {}\n'.format(name))
    response.headers['content-type'] = 'text/plain'
    response.mimetype = 'text/plain'
    return response

curl -v request to the route returns:
< Content-Type: text/plain; charset=utf-8
< Content-Length: 11
< Content-Type: text/plain; charset=utf-8
< Content-Length: 11

If you don't specifically set the Response object's content-type or mimetype, then the following is returned.
< Content-Type: text/plain; charset=utf-8
< Content-Length: 11
< Content-Type: text/html; charset=utf-8
< Content-Length: 11

This is a bigger issue when an operation has multiple produces values. If you use the same code as above with an added application/json to the produces values, application/json is always returned in addition to text/plain.
< Content-Type: application/json
< Content-Length: 11
< Content-Type: text/plain; charset=utf-8
< Content-Length: 11

I suspect that the code causing this issue is in connexion/decorator.py::BeginOfRequestLifecycleDecorator.get_response_container.

@patrickw276 thanks for reporting, I guess we introduced it with #365.
cc @rafaelcaricio


fix , remove not used  array buf in rcv_data_frame()

fix , remove not used  array buf in rcv_data_frame()

[approve ci]

clang format successful! https://ci.trafficserver.apache.org/job/clang-format-github/91/

RAT check successful! https://ci.trafficserver.apache.org/job/RAT-github/104/

FreeBSD11 build successful! https://ci.trafficserver.apache.org/job/freebsd-github/1786/

AU check successful! https://ci.trafficserver.apache.org/job/autest-github/88/

Linux build successful! https://ci.trafficserver.apache.org/job/linux-github/1679/

Intel CC build successful! https://ci.trafficserver.apache.org/job/icc-github/217/

clang-analyzer build successful! https://ci.trafficserver.apache.org/job/clang-analyzer-github/349/

Cherry-picked to 7.1.x, seems safe, and very reasonable.


Any to Enum cast doesn't work properly

enum state {
    foo,
    bar
}

function main(string[] arg) {
    state x = state.bar;
    any a = (any) x;
    state y;
    y,_= (state) a;
    print(a);
}

This doesn't work on https://github.com/ballerinalang/ballerina/pull/3878

Fixed with https://github.com/ballerinalang/ballerina/pull/3901#pullrequestreview-74248480


Update

More SVG bugs for you :P

[ ] Images are clipped to bottom-right corner

http://scratch.mit.edu/projects/17669694/
http://phosphorus.herokuapp.com/#17669694

I wonder if this relates to #68?

@nathan:
Closing because we're planning on fixing this in Scratch.

I don't think so. I believe I was referring to text wrapping when I said that.

Do we know why SVG (text?) gets cut off? @trumank seemed to think that Scratch SVGs are weird and despite all your efforts, fixing them is just pretty hard to do.

Hi,
Old thread but I'll answer: SVG text gets cut off due to how canvg.js handles viewBox, when there is just a parent element of text. If you surround the text with a black outlined svg box from within scratch editor the text displays correctly.
This I think is an error how canvg.js calculates the viewBox when the only SVG element (parent) is text. As soon as the text element becomes a child (by putting a box around it) the viewBox of this corrects the text viewBox.
I think this could be fixed...


Fix tests on Linux

Fix broken test cleanup
Increase test setup timeout

Thanks!

0.0.25 released and working on Windows 🚀

yay, thank you!


Bitwise Algorithms

Bitwise operations are really useful.
But there is no folder for bitwise alogrithms.
I would like to start working on such algorithms like

[ ] Number of set bits
[ ] Reverse set bits
[ ] Number of set bits in an array
[ ] Check if number is Binary paldindrome

I'm new to open source comm.
can you please elobrate
I have to choose any one of the above 4 algorithms and need to upload a code for the same? right?
Like if i choose "reverse set bits" then I need to upload a code for the same algorithms!? right?

Yes that's it.
But first wait for the maintainers to approve this.
Otherwise your work will be directly rejected.
PS : I am not the maintainer.

Thanks a lot, ohk so now we have to wait until the maintainer will approve this

CAn this task assign to me

I want do work on this

Can I work on this?


Add a test of a synthesis with a customized gate for TwoQubitControlledUDecomposer

Summary
Following #13139, this PR adds another test with a customized RXX-equivalent gate (namely, H(0) RZZ(0,1) H(1)) for TwoQubitControlledUDecomposer
Thanks @alexanderivrii for his help!
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

0 of 0   changed or added relevant lines in 0 files are covered.
21 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.005%) to 88.927%

Files with Coverage Reduction
New Missed Lines
%

crates/accelerate/src/unitary_synthesis.rs
1
92.2%

crates/qasm2/src/lex.rs
2
92.98%

crates/qasm2/src/parse.rs
18
96.69%

Totals

Change from base Build<PHONE_NUMBER>5:
-0.005%

Covered Lines:
79331

Relevant Lines:
89209

💛  - Coveralls


MqttClient::Connect ignores action timeout and blocks

Hello,
When calling (Mqtt) Client::Connect(), it blocks the application (as described in doc -> ok) but ignores action timeout. Tried with default ConfigCommon::mqtt_command_timeout_ of 20000msecs and reduced of 3000ms.
[https://github.com/aws/aws-iot-device-sdk-cpp/blob/master/src/mqtt/Client.cpp]
I'm using release 1.4.0

seems that it's related to timing, if I set the timeout to 10 (should be msec) then Connect returns after somewhat 20 sec...
do I have to adjust any timing methods to my platform (arm + emb. linux)?

I'm not seeing the behavior you're describing. I ran the pub-sub-sample on an OSX machine. I set mqtt_command_timeout_msecs to 3000 in SampleConfig.json. Connect() returned after 3 seconds with a timeout error. I tried setting it to 10 and the timeout happened immediately.
Digging into the implementation, the code which holds up the main thread for N milliseconds is this line:
aws-iot-device-sdk-cpp/src/ClientCoreState.cpp line 123
It's a call to std::condition_variable::wait_for() and the wait time is passed as std::chrono::milliseconds.
That's all standard library stuff. I hope it's implemented correctly on Arm Embedded Linux.
Are you sure that you're actually changing ConfigCommon::mqtt_command_timeout_? Can you set a breakpoint and confirm? Or print out its value?

Hi graebm,
yes I directly used different values as function paramter of connect instead of ConfigCommon::mqtt_command_timeout and placed the execution in an own thread to ensure nothing else blocks it...

by directly passing the timeout parameter (2000) when calling connect:
rc = _pMqttClient->Connect(2000,                 ConfigCommon::is_clean_session_,                 mqtt::Version::MQTT_3_1_1,                 ConfigCommon::keep_alive_timeout_secs_,                 std::move(client_id),                 nullptr,                 nullptr,                 std::move(                    p_will_options));

My impression is that passing the timeout value directly is working for you. Is this the case?
If so, how were you setting the ConfigCommon::mqtt_command_timeout value?

NO it doesn’t work. In only changed it by hand to see if lower timeouts (2 instead of 20sec) show any impact on behavior.
As stated, it takes way longer than 2 seconds until connect returns. About factor 10-20 I would say.
So That’s why my question is how time measurement for determining timeout inside connect function  could be influenced by any environmental conditions...
It’s definitely not blocked by other stuff since it runs in separate thread.
Am 05.09.2018 um 18:43 schrieb Jonathan M. Henson <notifications<EMAIL_ADDRESS>My impression is that passing the timeout value directly is working for you. Is this the case?
If so, how were you setting the ConfigCommon::mqtt_command_timeout value?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/aws/aws-iot-device-sdk-cpp/issues/118#issuecomment-418799464, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AlquzW22woNo7eBhLdoczUXMPmu2pI5fks5uX_8zgaJpZM4WM1KH.


Reduce provider/resource resolution stages down to 1

Adds platform_version filter to NodeMap, using the Chef::Version::Platform class to parse:

class R < Chef::Resource
  provides :r, platform: 'ubuntu', platform_version: '>= 10.1'
end

Adds specificity preferences to NodeMap:

class A < Chef::Resource
  provides :a, platform: 'ubuntu', platform_version: '>= 12.0'
end
class B < Chef::Resource
  provides :a, platform: 'ubuntu'
end
class C < Chef::Resource
  provides :a
end
class BOverride < Chef::Resource
  provides :a, platform: 'ubuntu'
end
# No matter what order the above are declared in, preference order is A > B > C
# BOverride is declared *after* B, and so is preferred over B.

Makes Resource/ProviderPriorityMap look through all matching arrays for a supported provider, not just the first matching array.  If provides :service, platform: 'ubuntu' fails to implement provides?, we still search provides :service, os: 'linux'.
Removes node-specific NodeMaps and use the global Resource/ProviderPriorityMaps to implement provides
Removes all ProviderMapping entries and uses provides instead
Moves all requires of providers and resources out of ProviderMapping and Resource/ProviderPriorityMaps and into the relevant classes

If you revert the cleanup changes that you made to the provider_resolver unit specs does it all still pass?  I think that you didn't modify the logic at all, but its a very large patch.  You should still get green before and after the changes to that file as far as I can see.

@lamont-granquist ran the prior version of the provider_resolver specs, all green.

@lamont-granquist all changes made with the exception of restoring the default provider_mapping, which should be straightforward.

:+1:

@lamont-granquist I have added tests for all the provider mappings and they passed (found a few bugs, see the latest commit).  I went and ran them against master as well, and here are the changes I made to master to get them to pass (indicating that these are changes the provider resolver branch is making now):

Add Ifconfig::Redhat as providers for oracle, scientific, amazon, xcp and xenserver instead of the base Ifconfig provider.
Have Package::Paludis provide :package on the exherbo platform.
Have :portage_package provided by Package::Portage.

I don't actually know whether the first two things are correct or not; the ifconfig thing in particular was one of the things we changed around here with platform_family instead of platform, I think.

Stop the provider_mapping from modifying its input (it was doing name.downcase! instead of name = name.downcase).  Frozen strings in my constants caught this.
Make platform_provider

If you can let me know whether the ifconfig and package provider changes are positive or negative, I will get this puppy in.

Those changes look good.  The redhat stuff looks like a bugfix falling out of this cleanup rather than a backcompat break.
:shipit:


[usecase][XWALK-2999] Remove usecase for picture element

Prefix bug id, https://crosswalk-project.org/jira/browse/XWALK-2999

@zqzhang  , I have updated it following your comments


Understanding prevStep and nextStep

So, I understand the need for prevStep and nextStep, determining how the previous and next steps are conditionally determined.
What I'm struggling to understand is how the previous and next steps are determined when the prevStep and nextStep options are omitted, seeing as they are both listed as optional.

@pocketarc Thanks btw for this hook. I was working on building basically the exact same hook—with the same name, go figure—last week before finding this one. I wad facing a lot of the same bloating and API challenges you likely faced, so using something like this, assuming you plan to maintain it, is a bug win 🙂

Ah, this is great then! I do maintain it, but it hasn't had the benefit of an outside perspective. It'll be great to see how it works for you, it might be that we come across parts of it that can be made even better.
To answer your question: Since the journey is an array, the default behaviour when either is omitted is to get the next/previous key in the array that is not skipped. If you just have a linear journey with some skippable steps, you don't need to mess with prevStep/nextStep at all, provided the array is in the right order.
Those are there for situations where the journey isn't linear and you need "next" to not be what would normally be next (for whatever reason that might be).

@pocketarc Thanks! That makes sense.
I would love to see a more robust example using all of those extra features to better understand them.
I even like the ability to set prevStep conditionally. It's not a common scenario, but I can think of some situations where just because a user came from a step doesn't necessarily mean that's the step they ought to go back to, especially if a future step allows them to alter certain data set in a previous step.

Yeah, that would be ideal - I think the problem will be coming up with a realistic, thorough user journey that isn't too complicated to use as an example.
Open to suggestions though! And if you just want to talk through a journey you yourself are building (either here or some more convenient way), I'd be happy to!


Indexer launchpad: Add Share by user model

Description
Add change to the indexer NestJS repo coming soon:

[ ] Create Share by user model (check launchpad_types.cairo for the model representation)
[ ] Create this model that represent a share for one user at one contract when first tx buy occurs
[ ] Update model data at each buy/sell tx

@MSghais can I work on this?

@MSghais, please kindly assign as discussed.

Can I be assigned to this ?

I’d like to help with this.

I'd like to take this issue.


Fixed "Scrape Duration" if psql down

#419

Coverage remained the same at 64.7% when pulling ba5f39856d39f6a36a4b04f580c783c30f1a7f87 on alexey-gavrilov-flant:patch-1 into e2df41f43effdfbb4544b3efb70350380ad895fe on wrouesnel:master.


Missing components and assets

[x] Read the docs.
[x] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[x] This is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.

Describe the bug
I was being able to do a functional build with vite@1 and now that I have updated my configuration and my modules to work with vite@2, some assets and components do not load correctly and have paths that do not correspond to the real absolute paths.
It works perfect on dev and although I am making an app with electron, it should not be a problem since as I mentioned before the builds were good with vite@1.
It is not a problem with the assets, they exist in the build folder. Seems to be a problem when they are required.
This is a more detailed issue where you can find all the error messages and screenshots:
https://github.com/MangoTsing/vite-electron-quick/issues/11

Although I don't think it has to do with electron, again. Still I put it on vite-electron-quick to rule out the possibility.

This is my vite config:
import { join } from 'path'
import { UserConfig } from 'vite'
import dotenv from 'dotenv'
import vue from '@vitejs/plugin-vue'

dotenv.config({ path: join(__dirname, '.env') })
const root = join(__dirname, 'src/render')

const config: UserConfig = {
  root,
  resolve: {
    alias: {
      '/@/': root,
    }
  },
  base: './',
  build: {
    outDir: join('../../dist/render'),
    emptyOutDir: true,
    assetsInlineLimit: 0
  },
  server: {
    port: +process.env.PORT,
  },
  plugins: [
    vue()
  ],
  optimizeDeps: {
    exclude: [
      'electron-is-dev',
      'electron-store',
    ]
  },
}

export default config

Reproduction
https://github.com/denyncrawford/mismor-guillotine
A reproduction is required unless you are absolutely sure that the the problem is obvious and the information you provided is enough for us to understand what the problem is. If a report has only vague description (e.g. just a generic error message) and has no reproduction, it will receive "need reproduction" label. If no reproduction is provided after 3 days, it will be auto-closed.
System Info

vite latest:
Operating System: Windows 10 2004
Node version: 15.2.0
Package manager (npm) and version: 7.0.8

Check out https://vitejs.dev/guide/migration.html#alias-behavior-change, I think this may be the issue here. I'm closing this one as it is pointing to an old version of Vite. If your issue still persists, please create a new bug report against the latest Vite version. Try to isolate the issue in a minimal reproduction, thanks!


overflow: hidden; not removed from .card element after .card-reveal is closed.

When the .card-reveal element is slid up the screen, property overflow: hidden; is being dynamically added to the parent .card element to make it seem like it comes up the card itself, not the bottom of the screen. The overflow: hidden; property is not being removed from the said .card element after the .card-reveal element is closed.

See #4668

Merged https://github.com/Dogfalo/materialize/pull/4668


Save Sender settings as well

Hey, me and my colleagues are using SB explorer quite often and we've noticed that the settings in Sender tab, when sending a service bus message to specific queue, are not saved like the message content.

The Label, in particular, is what our app uses to navigate through the message types.
On each start of the explorer, it falls back to 'Service Bus Explorer'.
It would be very handy if those settings are also persisted between restarts.

Regression related to #783 or a new issue, @ErikMogensen?

Regression related to #783 or a new issue, @ErikMogensen?

I believe it's an old issue.
@JuganD, which SBE version are you using?
Also, what is your setting for

?
If it is set to "Application configuration file", please set it to "User configuration file" and test if it makes a difference.

These are my settings, they were set to User Configuration File:

Currently using version 6.0.0, but we've noticed this on the last version we used as well - 5.0.17

I was able to reproduce it. However, you can change the label by setting it in the View | Options dialog box.
I don't know if it is a good thing if you changed the stored label when sending a message, but it should be consistent with the message content of course.

Can confirm that the options do save it, even when the app is reopened.
This really helps, thanks!


OS Notifications

Not sure if this porject supports OS notifications ?
But this is working for me on OSX
github.com/gen2brain/beeep
Try on LInux and Windows please ?
package main

import "github.com/gen2brain/beeep"

func main() {

	err := beeep.Notify("Title", "Message body")
	if err != nil {
		panic(err)
	}

	err = beeep.Beep(beeep.DefaultFreq, beeep.DefaultDuration)
	if err != nil {
		panic(err)
	}

}

did anyone work this out?


Better documentation for "Dashboards" section of guide

Is your feature request related to a problem? Please describe.
The dashboards at https://apexcharts.com/javascript-chart-demos/dashboards/ look great, but I have no clue what those are in the top row and I'd like to use them. Without any documentation or even annotations, I'm left searching element by element in the docs then still coming up empty as I don't see them listed. What are these dashboards? What is needed to use the elements and themes within them? How can this be recreated? This section just boasts a bit about capabilities with no explanation of them.
Describe the solution you'd like
Clear documentation accompanying this section so it is clear what elements are used and how they're used.

I understand your issue.
I just added the direct link to Code in all the dashboards just now.
Here are the links for your reference

Dashboard Modern
Dashboard Dark
Dashboard Material
Dashboard Realtime


Enable intra-word emphasis supression in markdown

This fixes plain links sent to Matrix being broken if they contain
underscores. Fixes issue #997

Thanks! 👍


Check for busy project using workers list

This would add another mechanism to prevent jobs running on parallel on a project as an option if the actual reason just never gets found. (Discovered as sideeffect of running a job cancelling routine). One could also specify which job.type should never run in parallel.

[ ] tested manually with 3 workers

But would need further testing if seen as an Option ...

Task linked: QF-2638 Investigate how it is possible that we have multiple jobs in parallel for the same project


IBC-in address selection

At the moment, for IBC-in, we are making deposits into Account #0 for users:

https://github.com/penumbra-zone/web/blob/bf28b67ed2b974fa4c513c7f0182d343a763f721/apps/minifront/src/components/ibc/ibc-in/destination-addr.tsx#L11-L16
We should A) evaluate this flow in general and B) consider giving users the choice of which account to deposit into.
====

Give users an account selector widget (do not show the addresses)
Instruct users to validate their address in the keplr popup in the extension (assumption this is built).

===
Update: account selector component is able to split up to just get the account input and not display the address. Should try to re-use this.

Why do we not want to show the user their addresses? Was this for educational reasons — i.e., to get them in the habit of copying the address in the approval window into the Penumbra wallet screen, for security reasons?

This came up in a web weekly a while ago. The idea was that the address we are displaying there cannot be trusted because the javascript could be deceiving them (given a malicious frontend). The only address they can trust is the one that pops up in the keplr/leap dialog box which they need to validate in the address validation box within the extension.


Updating documentation for new unity version and new scenes

Ok I stitched the PRs and rebase-squashed the commits so that one is responsible for Unity bump and another for starting screen.

Ok I stitched the PRs and rebase-squashed the commits so that one is responsible for Unity bump and another for starting screen.


Trivial  merge

Additional 597 tokens with ~2200 links, and updated ~300 tokens with ~1100 links.
I fixed readme to explain this list as a merge between Trivial database and Token-list database, I hope this is fine, considering both of them were of similar sizes :)
The links should be of a good quality, but I still would love to double-check them somehow before marking the list as production ready.

Would not call +17,661 −1,476 trivial - but as it is coming from the name. LGTM- when you remove the please do not use warnings I will make some notes on the tokens repo and redirect to this repo.


I18nProviderClient throwing importLocale prop as required

Describe the bug
Usage of I18nProviderClient is throwing a type error, requesting a prop that is not needed.
To Reproduce
Steps to reproduce the behavior:

Go to the examples/next-app
Open the /examples/next-app/app/[locale]/provider.tsx
Typescript server showing error on I18nProviderClient requesting to pass importLocale prop.

Expected behavior
Provider should not request for importLocale, only locale and optional fallback belongs to the interface as stated on the app-setup docs
Screenshots

About (please complete the following information):

next-international version: v1.2.1
Next.js version: v14.0.4

Working on to close this issue

Released in https://github.com/QuiiBz/next-international/releases/tag/1.2.2


⚠ API - Lens has degraded performance

In 888a371, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 503
Response time: 618 ms

Resolved: API - Lens performance has improved in 74a938a after 9 minutes.


Test WS Security client

Fix #498

there may be some duplication of code, and the README as well, so I was left wondering if these can somehow be abstracted and/or consolidated in some way?

+1, would you mind filing an issue, to make sure that I see what you see?


Investigate "PHP Fatal error:  Maximum function nesting level of '256' reached, aborting!" when the cache adapter is using a namespace

Its only happening in one project due to a circular dependency between the cache factory and another service which is using the cache itself (via annotaitons)


Caching with multiple instance doesn't work

Hey,
I'm using Flagsmith with two instances, created using the createFlagsmithContext. I have noticed that caching is not working properly when you are running two instances. Indeed, if you look at the local storage you will see that the values from both instance are cached against the same key and are overriding each other.
Reproduction case:
communitiesFlag.init({
  environmentID: 'env-1',
  api: FLAGSMITH_API,
  cacheFlags: true,
  cacheOptions: {
    skipAPI: true,
    ttl: 1000 * 60 * 5,
  },
});

usersFlags.init({
  environmentID: 'env-2',
  api: FLAGSMITH_API,
  cacheFlags: true,
  cacheOptions: {
    skipAPI: true,
    ttl: 1000 * 60 * 5,
  },
});

usersFlags.identify('1')
communitiesFlag.identify('2')

Check in the local storage of your browser and you will see that only one of the identity has been cached

Thanks for this @ldemesla, we will look into it and get back to you as soon as possible.

@kyle-ssg @novakzaballa what's the status here?

Hi @ldemesla, just to leave an update and let you know that we are considering if this use case would be solved by the implementation of contexts which is planned to be delivered by the second semester of this year.

Hi @ldemesla we will start working on the contexts next week, could you please explain the use case for this request? so we can know this is a good candidate for solving this with the implementation of the contexts

Also, we don't provide the function createFlagsmithContext, in the javascript client, Could you please share where you found the code for using createFlagsmithContext?

@novakzaballa I am interested in solving the problem, my use case is the use of cacheFlags in a microfrontend architecture where each project can have its own instance of flagsmith but they all share the same localStorage

@matthewelwell Can you give me write permission to the repository so I can open the PR?

@matthewelwell PR open! 🚀 #246

This has been resolved in version 6.0.0, thanks so much @oluizcarvalho


ci: debug on github action

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 78.16%. Comparing base (9afab95) to head (ae6c76a).
Report is 1 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1272   +/-   ##
=======================================
  Coverage   78.16%   78.16%
=======================================
  Files          41       41
  Lines         522      522
  Branches       89       89
=======================================
  Hits          408      408
  Misses        108      108
  Partials        6        6

Flag
Coverage Δ

unittests
78.16% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Image component

Create a new component that allows an image to be placed in scouting templates

First implementation complete (b4de664) 😎


setting hyperparam.txt

I am looking for an example.
In what format do you provide the hyperparams in a text file, i.e. set the contents in hyperparams.txt?

http://tensorpack.readthedocs.io/en/latest/modules/callbacks.html#tensorpack.callbacks.HumanHyperParamSetter.__init__


TAJO-1686: Allow Tajo to use Hive UDF

This patch consists of parts below.
Core Logic

TajoMaster.java / HiveFunctionLoader.java : in charge of finding Hive UDFs and registering them.
HiveFunctionInvoke.java : to call Hive UDF

Utility

WritableTypeConverter.java : utility class, to convert from Writable type to Datum and vice versa.
FunctionDescBuilder.java : helper/builder to build FunctionDesc more conveniently.

and others.

Hi @eminency, thanks for your work. It seems good overall.
I left some comments. In addition, would you briefly evaluate the performance of Hive UDF call? I wonder how large its overhead is.

I missed many things... I will make the code handle them soon.
UDF call test also will be done ASAP.
Thanks @jihoonson .

@jihoonson
I applied most of your suggestions.
Could you check them again?

Sorry for late review. I left some comments.

Hi @eminency, I left some comments.
In addition, I found the below error when I start a tajo cluster. I put the hive udf jar file on hdfs and specified it in tajo-site.xml.
2016-03-09 14:34:06,613 FATAL org.apache.tajo.master.TajoMaster: Error starting TajoMaster
org.apache.tajo.exception.TajoInternalError: internal error: unknown protocol: hdfs
        at org.apache.tajo.engine.function.hiveudf.HiveFunctionLoader.loadHiveUDFs(HiveFunctionLoader.java:70)
        at org.apache.tajo.master.TajoMaster.loadFunctions(TajoMaster.java:229)
        at org.apache.tajo.master.TajoMaster.serviceInit(TajoMaster.java:181)
        at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
        at org.apache.tajo.master.TajoMaster.main(TajoMaster.java:628)

@jihoonson
I fixed some of what you suggested. Read my comments.
In addition, loading from HDFS might be separated to another issue. It needs too large working to fix it.

Hi @eminency, I met this warning message while starting up Tajo. This is weird because I configured the path to hive udf like below. Would you check it?
# in tajo-site.xml
 <property>
  <name>tajo.function.hive.code-dir</name>
  <value>${TAJO_HOME}/tajo-core-tests/src/test/resources/hiveudf/</value>
 </property>

# in TajoCli
default> select my_upper('abcd');
ERROR: function does not exist: my_upper(text)

# in the master log
...
2016-04-18 15:15:19,987 WARN org.apache.tajo.engine.function.hiveudf.HiveFunctionLoader: Hive UDF directory doesn't exist
...

@jihoonson
The problem you mentioned and null handling problem are fixed.

+1 the latest patch looks good to me.
@eminency thank you for your work!


App not actually submitting keys to the Exposure API

Hello,
Google Play services offer functionality to show all exposure keys submitted by an App to the Exposure API. This export (attached to this ticket). Shows that for every submission to the API 0 keys where submitted.. Furthermore, the API seems to be called multiple times in a very short timeframe (same minute) without any keys being submitted..
There is not a single packet that contains at more than 0 keys according to the attached file (which was exported from Google Play Services).
Wonder if the app is even working :(
data.json.zip

Probably duplicate of #744 I am running the latest Android 11 beta on my device (Google Pixel 2 XL) and have the latest play services.
I suspect that the app does not work at all if this "0" keys turns out to be true...

Hi @Spacefish , did you consider https://github.com/corona-warn-app/cwa-app-android/issues/744#issuecomment-650532041 which can be seen as a kind of proof that the "0" in the "Anzahl der Schlüssel" is a copy/paste issue in the code which updates the database behind this UI?

Hi @Spacefish ,
this is a known issue which was also added to the faq: https://www.coronawarn.app/en/faq/#keys0
Br,
Philipp


fix: minimum value of window col is 0

In :h nvim_open_win(), the miminum value of window col is 0 in Neovim 0.9.5.
    With relative=editor (row=0,col=0) refers to the top-left corner of the
    screen-grid and (row=Lines-1,col=Columns-1) refers to the bottom-right
    corner. Fractional values are allowed, but the builtin implementation
    (used by non-multigrid UIs) will always round down to nearest integer.

I'm not sure whether earlier Neovim version has different explanations of row and col.

This is fixing in #91. Close for now.

Thanks for pointing it out. I forgot the reason I added it in 925e267...


Add package.json for use with NPM

A simple package.json

Any chances of implementing this @soulwire?

Thanks chaps :)


Update default value to v18 LTS

cc @richardlau

I've set 18 to be the default track. I think we missed requesting a new track for Node.js 19 but it's way too late in the evening for me to do that.

Have requested a 19: https://forum.snapcraft.io/t/track-request-for-node-19/32364

We've been given 19, someone just needs to wire it up. I could probably do it tomorrow unless someone gets to it first.

  19/stable:        19.0.0                         2022-10-27 (6864) 33MB classic
  19/candidate:     ↑
  19/beta:          ↑
  19/edge:          ↑

19 has been set up and is running now in cron; I added additional IBM architectures while I was in there for 16 and 18 as well as the new 19


Mac build failures when using "sudo npm install -g"

Steps to reproduce:
Run sudo npm install -g leveldb on a Mac while being logged in on a non-root account.
Here is the log:
*snip*
gyp WARN EACCES user "root" does not have permission to create dev dir "/Users/kevinwhitman/.node-gyp/0.8.8"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/bitcoinjs/node_modules/leveldb/.node-gyp"
gyp http GET http://nodejs.org/dist/v0.8.8/node-v0.8.8.tar.gz
gyp http 200 http://nodejs.org/dist/v0.8.8/node-v0.8.8.tar.gz
*snip*
node-gyp build
leveldb.target.mk:128: warning: overriding commands for target `Release/leveldb.node'
deps/leveldb/leveldb.target.mk:164: warning: ignoring old commands for target `Release/leveldb.node'
make[1]: *** No rule to make target `../.node-gyp/0.8.8/common.gypi', needed by `Makefile'.  Stop.
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:219:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:91:17)
gyp ERR! stack     at Process._handle.onexit (child_process.js:674:10)
gyp ERR! System Darwin 12.1.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build"
gyp ERR! cwd /usr/local/lib/node_modules/bitcoinjs/node_modules/leveldb
gyp ERR! node -v v0.8.8
gyp ERR! node-gyp -v v0.6.7
gyp ERR! not ok
make: *** [build] Error 1
npm ERR<EMAIL_ADDRESS>preinstall: `make build`
npm ERR! `sh "-c" "make build"` failed with 2
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>preinstall script.
npm ERR! This is most likely a problem with the leveldb package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     make build
npm ERR! You can get their info via:
npm ERR!     npm owner ls leveldb
npm ERR! There is likely additional logging output above.

npm ERR! System Darwin 12.1.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "bitcoinjs" "-g"
npm ERR! cwd /Users/kevinwhitman
npm ERR! node -v v0.8.8
npm ERR! npm -v 1.1.59
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/kevinwhitman/npm-debug.log
npm ERR! not ok code 0

And here is my interpretation:
When using sudo for a global install on Mac, the write to ~/.node-gyp/ fails. node-gyp attempts to fall back to a local .node-gyp folder. So far so good, but now the path pointing to .node-gyp is relative, so if the package has a gyp file that is not in the root of the module, this path is invalid and the build fails.
Suggested fix:
Wherever the path ../.node-gyp/0.8.8/ is set, set an absolute path instead.
Related issues:
node-gyp #92
npm #2340
bitcoinjs-server #82
Workaround:
Use npm's --unsafe-perm parameter, e.g. sudo npm install -g leveldb --unsafe-perm.

Clean interpretation and fix! Much appreciated!

I am having this same problem with global npm installs. Any fixes?

@cleechtech It's at the bottom:

Use npm's --unsafe-perm parameter


Use sudo on Debian as well

I don't understand the distinction that is being made here. Both platforms behave identical in regards to the installation process.

LGTM

-1, we've avoided this in the source docs @ https://github.com/nodesource/distributions because some variants of Debian don't come with sudo so the "use root" is a way of getting around that.

@rvagg Oh, shall I revert the commit then?

either that or make a comment that sudo may not be available

If you add a note that sudo isn't available by default, you should also add that curl is neither.

"use root" :+1:


platformPageRoute is lowercase

I am not sure if this is intentional, but platformPageRoute is a lowercase class name.

Reason is that platformPageRoute is not a class but a function so it uses the naming convention of dart.


Merge add_canvas to main

Purpose of this pull request

Check list

[ ] Code changed are covered with tests, or it does not need tests for reason:
[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs

Good job.
Please don't submit such a large PR next time, so many files!  Nobody can review it.
Please submit small PRs especially when you're a new contributor~


Update redhat-rhui.md: removed UsGOV IPs and improved the public doc

We got the following feedback from the Support team:

remove the UsGov IPs from the doc to avoid confusion
specify the word "UDR" in the documents in the form of a note to help them with the action item once they reach the RHUI MS doc page.
We need to specify who would be impacted in the MS docs
Add a note for Customers to add all Ips instead of adding a region

With this PR I removed UsGOV IPs and improved the doc by specifying who will be impacted and what are the action items.

Could a message regarding the upcoming migration to RHUI4 for current RHUI3 clients?  Something in the spirit of this perhaps -
As of October 12th 2023 all PAYG clients will be directed to the RHUI4 IPs.  During this time the RHUI3 IPs will exist for continued updates but will be removed at a future time.  Existing routes and rules allowing access to RHUI3 IPs should be updated to also include RHUI 4 addresses for uninterrupted access to packages and updates.

@mamccrea

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

As of October 12th 2023 all PAYG clients will be directed to the RHUI4 IPs. During this time the RHUI3 IPs will exist for continued updates but will be removed at a future time. Existing routes and rules allowing access to RHUI3 IPs should be updated to also include RHUI 4 addresses for uninterrupted access to packages and updates.

Done,
i have re-added the USGov IPs with a note as the Cx may remove these IPs (UsGov).
final changes

#sign-off

#sign-off I'm also sending mail to have the merged as an exception since Mary is OOF


How to generate code for multiple databases?

Hi,
Because I am stuck to .net 5 for now, I am using Facil 1.4.3. How do I handle multiple databases? According to the docs, I can have multiple yaml files. I created two yaml files facil_db1.yaml, facil_db2.yaml, but the build process complains:
Error		No config file found. A minimal config file has been placed in the project directory (D:\TestDbAccess\facil.yaml). Re-build after editing the config.	TestDbAccess	D:\TestDbAccess\Facil	1
Also, it seems that there is a build hook that calls the facil generator, but I am not sure how I can override that command in case it supports specifying the yaml file name.
Thank you
Update: One option would be to create two library projects, one for each database and then reference these.

You can not have multiple files. You have several config sections in the single file. To be specific, as you can see in the reference yaml file, rulesets is an array. Just add another array item to generate another file.

Yes, please. I read this:

See the full YAML config reference for details. Note that you can generate multiple source files with separate configs (e.g. to generate from multiple DBs). Here are some highlights of what you can configure.

And I thought you need to specify different files.
Quick question, if I want to define two connection strings, do I need to specify this:
configs:
  - envVars: ""

rulesets:
  - connectionString: Data Source=sddbshrcs01;Initial Catalog=db1;Integrated Security=True

    namespaceOrModuleDeclaration: module Db1

    tableScripts:
      - include: dbo.Table1

        scripts:
          - type: insert
          - type: update
          - type: merge
          - type: getById

    tableDtos:
        - include: .*
          except: cdc\..*

  - connectionString: Data Source=sddbshrcs01;Initial Catalog=db2;Integrated Security=True

    filename: DbGenDb2.fs
    namespaceOrModuleDeclaration: namespace Db2

    tableScripts:
      - include: dbo.Table2
        scripts:
          - type: insert
          - type: update
          - type: merge
          - type: getById

    tableDtos:
        - include: .*
          except: cdc\..*

I tried it, and the generation tool complained:
Severity	Code	Description	Project	File	Line	Suppression State
Error		System.Exception: Error getting table DTOs	TestDbAccess	D:\TestDbAccess\Facil	1

Yes, please. I read this:

See the full YAML config reference for details. Note that you can generate multiple source files with separate configs (e.g. to generate from multiple DBs). Here are some highlights of what you can configure.

I thought I need to specify different files.
Quick question, if I want to define two connection strings, do I need to specify this:
configs:
  - envVars: ""

rulesets:
  - connectionString: Data Source=server1;Initial Catalog=db1;Integrated Security=True

    namespaceOrModuleDeclaration: module Db1

    tableScripts:
      - include: dbo.Table1

        scripts:
          - type: insert
          - type: update
          - type: merge
          - type: getById

    tableDtos:
        - include: .*
          except: cdc\..*

  - connectionString: Data Source=server1;Initial Catalog=db2;Integrated Security=True

    filename: DbGenDb2.fs
    namespaceOrModuleDeclaration: namespace Db2

    tableScripts:
      - include: dbo.Table2
        scripts:
          - type: insert
          - type: update
          - type: merge
          - type: getById

    tableDtos:
        - include: .*
          except: cdc\..*

I tried it, and the generation tool complained:
Severity	Code	Description	Project	File	Line	Suppression State
Error		System.Exception: Error getting table DTOs	TestDbAccess	D:\TestDbAccess\Facil	1

That YAML looks right to me. Not sure what's wrong. Is that the only error message you get? The exception should have an inner exception; I would think that too should be printed.

I took a look with the sql profiler to see what happens and the tool stopped after running this:
      SELECT
        SCHEMA_NAME(sys.tables.schema_id) AS SchemaName,
        sys.tables.name AS TableName,
        sys.all_columns.name AS ColName,
        sys.all_columns.column_id,
        sys.all_columns.is_nullable,
        sys.all_columns.system_type_id,
        sys.all_columns.max_length,
        sys.all_columns.precision,
        sys.all_columns.scale,
        sys.all_columns.is_identity,
        sys.all_columns.is_computed,
        IsView = CAST(0 AS BIT)
      FROM
        sys.tables
      INNER JOIN
        sys.all_columns
          ON sys.all_columns.object_id = sys.tables.object_id

      UNION

      SELECT
        SCHEMA_NAME(sys.views.schema_id) AS SchemaName,
        sys.views.name AS TableName,
        sys.all_columns.name AS ColName,
        sys.all_columns.column_id,
        sys.all_columns.is_nullable,
        sys.all_columns.system_type_id,
        sys.all_columns.max_length,
        sys.all_columns.precision,
        sys.all_columns.scale,
        sys.all_columns.is_identity,
        sys.all_columns.is_computed,
        IsView = CAST(1 AS BIT)
      FROM
        sys.views
      INNER JOIN
        sys.all_columns
          ON sys.all_columns.object_id = sys.views.object_id

Btw, the union can be converted to an union ALL - it saves some time.
Yes, fails with this:
---> System.Exception: Unsupported SQL type 'sql_variant' for column 'Value' in table 'MapPropertyValue'
This is ok, it is a different issue. The tables that I have to edit don't have sql_variant columns. So, it is all good for now.

it might be nice to support sql_variant columns in the future.

That will both be non-trivial and go very much against the grain of Facil's strongly typed goals, since it will require Facil to provide a way to retrieve the column value as any type on a per-row basis, essentially wrapping SqlDataReader's numerous methods. I might consider it if someone posts a feature request with a well explained use-case and some guidance on the expected functionality, but no promises.
In any case, I have updated the readme now, so AFAIK there is nothing more outstanding in this issue. Feel free to correct me if I have missed anything.

Indeed Facil only checks that for tables that are being processed. If you look carefully at your YAML, I'm guessing that there is an include value that covers the ContractMapPropertyValue table, and that if this rule has an except value, that value does not cover (i.e., does not exclude) that table.

Side-note (not relevant here, but nice to know): You can exclude specific columns, too, so if you need to work with a table that has sql_variant but you don't actually need the sql_variant column, then that is possible.

Indeed Facil only checks that for tables that are being processed. If you look carefully at your YAML, I'm guessing that there is an include value for the table DTOs that covers the ContractMapPropertyValue table, and that if this rule has an except value, that value does not cover (i.e., does not exclude) that table.

This is the content of yaml file for this database:
  - connectionString: Data Source=server1;Initial Catalog=db1;Integrated Security=True

    filename: DbDb1.fs
    namespaceOrModuleDeclaration: namespace db1

    #procedures:
      # Generate wrappers for all stored procedures with the default configuration.
    #  - include: .*
    tableScripts:
      - include: dbo.Table1
        #except: dbo\.SomeTable

        scripts:

            # Generates a script to insert a row.
          - type: insert
          - type: update
          - type: merge
          - type: getById

    tableDtos:
        - include: dbo\.Table2
          #except: cdc\..*

Table1 & Table2 don't include sql_variant columns. That is why I thought the check is done early. Unless i am doing something wrong.

Thanks, I'll have a look at it.

I have confirmed the bug (which affects only table DTOs, not e.g. table scripts). Will fix tomorrow. However, it will of course require .NET 6.
As a workaround, you can add a rule for the problematic table that explicitly skips the sql_variant column. That should work on 1.x.

Thank you!!
The workaround you suggested works. I had to include the table and then exclude the sql_variant column:
        - include: dbo\.ContractMapPropertyValue
          columns:
              Value:
                skip: true

I tried:
        - include: dbo\.ContractMapPropertyValue
          except: dbo\.ContractMapPropertyValue

but it doesn't seem to do the trick.

Hi,
Sorry, I discovered one more issue which I think it is a bit in the same vein as the other one:
Facil : Regenerating D:\TestDbAccess\DbEconnect.fs
Facil : error : Table or view dbo.SomeTable_Backup has no primary keys and can not be used for a 'get' table script

Sometimes, I create backup tables before doing certain operation. Because this table is not specified in the yaml file, I don't think it should affect the generation process.
I will get rid of it for now, and I know it is best practice to specify PKs for each table, but sometimes you deal with third-party databases (I have to deal with one third party database where none of the tables have PKs), or like in this case, the table is the byproduct of some data processing.
Thanks

Hi,
Sorry, I discovered one more issue which I think it is a bit in the same vein as the other one:
Facil : Regenerating D:\TestDbAccess\DbDb2.fs
Facil : error : Table or view dbo.SomeTable_Backup has no primary keys and can not be used for a 'get' table script

Sometimes, I create backup tables before doing certain data massaging operations. Because this table is not specified in the yaml file, I don't think it should affect the generation process. As a principle, the generation tool should ignore and it should not validate any table that is not selected for generation.
I will get rid of it for now, and I know it is best practice to specify PKs for each table, but sometimes you deal with third-party databases (I have to deal with one third party database where none of the tables have PKs), or like in this case, the table is the byproduct of some data processing.
Thanks

That error should only occur if dbo.SomeTable_Backup is included by your table script rules. I'm fairly sure about that, because I am testing Facil using a DB where there are tables without PKs, and it compiles fine for this DB. I recommend you comment out your table script rules and add back one at a time to see which one it is.

I will confirm it tomorrow, but I don't think it is included. Keep in mind that I am using version 1.4.3 while you are using 2.x. That could account for the difference.

Keep in mind that I am using version 1.4.3 while you are using 2.x. That could account for the difference.

I don't think anything relevant changed between these versions.
If you want, I can check if you send me the actual table script rules from your YAML file (minus any secret connection strings) and the actual name of the table. If you don't want to post that publicly, you can send it to me at<EMAIL_ADDRESS>


Drop-Database called immediately prior to "View the DB section"; no instructions to run app to rebuild DB

[Enter feedback here]
At the very end of the "Add code to initialize the DB with test data" section, we are told to stop the app if running, and run the Drop-Database command in the PMC.
The start of the next section, "View the DB" provides a quick overview of how DBs are named in localdb, and describes how we should go about viewing the contents of the database.
However, at no point did the instructions state that the webapp needs to be rebuilt and run for the database to be recreated in order to view its details.  If you follow these instructions to the letter, there is no longer any database to review.
Recommend inserting a statement telling the user to rebuild and run their code at the very start of the "View the DB" section.

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

ID: 7a54c97f-ddd4-b041-5e5f-a2df009ace50
Version Independent ID: fa488196-1f98-08ea-adcc-17d9dac86727
Content: Razor Pages with Entity Framework Core in ASP.NET Core - Tutorial 1 of 8
Content Source: aspnetcore/data/ef-rp/intro.md
Product: aspnet-core
Technology: aspnetcore-data
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Also fix namespace as the bug has been fixed
Note: The preceding code uses Models for the namespace (namespace ContosoUniversity.Models) rather than Data. Models is consistent with the scaffolder-generated code. For more information, see this GitHub scaffolding issue.

Thanks for contacting us.
I think most folks know to do that, so we are closing the issue. Should your request generate enough  👍 responses, we’ll reconsider. We'll also reconsider this issue in the next doc update.


ValueError: Mismatched divisions.

What happened: when i used the dask_ml.model_selection.train_test_split that want random split the dask-dataframe to training my model, Error come.
What you expected to happen: i want  dask_ml.model_selection.train_test_split  can give me split datas
Minimal Complete Verifiable Example:
# Put your MCVE code here
import xgboost as xgb
from dask import dataframe as dd
from dask_ml.model_selection import train_test_split
# read data
X = dd.read_csv(r"... .txt",sep=' ',header=None)
Y = dd.read_csv(r"... .txt",header=None)
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2)

Anything else we need to know?:this is my data looks like in dask-dataframe:
and X.shape : (836075,128);Y.shape:(836075,1),there are also no null-value,i checked it.

Environment:

Dask version: 2.30.0
Dask_ml version: 1.7.0
Python version: 3.6
Operating System: win10
Install method (conda, pip, source): pip

Looks like the .divisions don't match between X and y. I think you can use .repartition

Looks like the .divisions don't match between X and y. I think you can use .repartition

Let me know if that wasn't the issue.

Let me know if that wasn't the issue.


boolean clause allows unknown properties to be referenced

Take the following type and function definition:
type User = { id: string };

function getUserName(user: User) {
  return user.name;
}

As expected, Flow catches the following issue:
10:   return user.name;
                  ^ property `name`. Property not found in
10:   return user.name;
             ^ object type

However, modify the function just a bit:
function getUserName(user: User) {
  return user.name || 'No name!';
}

Flow no longer catches the fact that name is not a known property of user.
I believe that Flow should be warning about this code regardless of if it is safe to execute or not. At the very least, user.name would be a dead code path as far as the type definition is concerned.

This can lead to hard to debug problems with simple typos
fn( {
  callback : () => console.warn( "This will never be called" ),
  doSomething : true
} )

function fn( a: { doSomething: boolean, callback: () => void } ) {
  if ( a.doSmoething ) {
    a.callback()
  }
}

As a workaround a cast expression can be added to force a check.
type User = { id: string };

function getUserName(user: User) : string {
  return (user.name : ?string) || 'No name!';
  //           ^ property `name`. Property not found in
}

I just came across this while willing to check that a if (obj.field) { ... } expression does not have a typo in the filed. Doing if ((obj.field : boolean)) { ... } is my workaround, but I would vouch for a safer check by default.

Issue resolved


client error log output to the user.

qiwang@Qi15Pro client % GOCOVERDIR=./coverage/int  ~/.local/bin/apsh -i ~/.ssh/id_ed25519 root@localhost
passphrase:
Failed to parse private key. x509: decryption password incorrect
openrc-nvide:0.10.2

Lua, C/C++ and Golang Integrated Development Environment.
Powered by neovim, luals, gopls and clangd.
openrc-nvide:~# exit
time=2024-02-18T11:57:07.359+08:00 level=WARN msg="got message" quit="duplicate state" NewNum=18446744073709551615
                                                                                Connection to localhost:60001 closed.
qiwang@Qi15Pro client %

use wrong port, you will always get error log on stdout.
qiwang@Qi15Pro client % GOCOVERDIR=./coverage/int  ~/.local/bin/apsh -p 60110 ide@localhost:8022
time=2024-02-19T14:57:18.373+08:00 level=WARN msg="receive from network" error="read udp [::1]:62163->[::1]:60111: recvmsg: connection refused"
            time=2024-02-19T14:57:21.374+08:00 level=WARN msg="receive from network" error="read udp [::1]:62163->[::1]:60111: recvmsg: connection refused"
                        time=2024-02-19T14:57:24.377+08:00 level=WARN msg="receive from network" error="read udp [::1]:62163->[::1]:60111: recvmsg: connection refused"
                                    time=2024-02-19T14:57:27.377+08:00 level=WARN msg="receive from network" error="read udp [::1]:62163->[::1]:60111: recvmsg: connection refused"
                                                time=2024-02-19T14:57:30.074+08:00 level=WARN msg="receive from network" error="read udp [::1]:62163->[::1]:60111: recvmsg: connection refused"
                                                            time=2024-02-19T14:57:31.528+08:00 level=WARN msg="receive from network" error="read udp [::1]:62163->[::1]:60111: recvmsg: connection refused"
                                                                        time=2024-02-19T14:57:33.361+08:00 level=WARN msg="receive from network" error="read udp [::1]:62163->[::1]:60111: recvmsg: connection refused"
                                                                                time=2024-02-19T14:57:33.612+08:00 level=WARN msg="No connection within x seconds" seconds=15
                                              apsh did not make a successful connection to localhost:60111.
Please verify that UDP port 60111 is not firewalled and can reach the server.

By default, apsh uses a UDP port between 60000 and 61000. The -p option
selects a initial UDP port number.

Identify if output goes to the terminal or is being redirected, in Golang

if stderr outputs to terminal, we redirect it to /dev/null. verified.
qiwang@Qi15Pro client % GOCOVERDIR=./coverage/int  ~/.local/bin/apsh -p 60110 ide@localhost:8022
apsh did not make a successful connection to 'localhost:60111'.
Please verify that UDP port is not firewalled and apsh can reach the server.
By default, apsh uses UDP port begin with 60001, The -p option specifies base apshd port.
qiwang@Qi15Pro client % GOCOVERDIR=./coverage/int  ~/.local/bin/apsh -p 60100 ide@localhost:8022

the following  log mess up the client output.
GOCOVERDIR=./coverage/int  ~/.local/bin/apsh -vv ide@localhost
terminal /dev/null
time=2024-02-26T22:55:21.537+08:00 level=DEBUG msg=dialUDP pid=98538 ip=localhost port=60001 localAddr=[::1]:62515 remoteAddr=[::1]:60001
     time=2024-02-26T22:55:21.539+08:00 level=DEBUG msg=mainLoop pid=98538 point=100 network.WaitTime=0 overlays.WaitTime=9223370327895454268 timeout=0
                   time=2024-02-26T22:55:21.541+08:00 level=DEBUG msg=mainLoop pid=98538 point=100 network.WaitTime=3000 overlays.WaitTime=9223370327895454266 timeout=250
                                      openrc-nvide:0.10.2

Lua, C/C++ and Golang Integrated Development Environment.

Powered by neovim, luals, gopls and clangd.
ide@openrc-nvide:~ $ exit
time=2024-02-26T22:56:03.841+08:00 level=INFO msg="close terminal" pid=98548 seq="\x1b[?1l\x1b[0m\x1b[?25h\x1b[?1003l\x1b[?1002l\x1b[?1001l\x1b[?1000l\x1b[?1015l\x1b[?1006l\x1b[?1005l\x1b[?1049l\x1b[23;0;0t"
                                                                           Connection to localhost:60001 closed.

fix the problem with io.Discard.
qiwang@gauss client % GOCOVERDIR=./coverage/int  ~/.local/bin/apsh -verbose ide@localhost
openrc-nvide:0.10.2

Lua, C/C++ and Golang Integrated Development Environment.
Powered by neovim, luals, gopls and clangd.
ide@openrc-nvide:~ $ ls
develop  proj
ide@openrc-nvide:~ $


Frontpage redirect from other pages redirects to old URL

This does not really matter. The user will be redirected regardless. The current solution is also agnostic to changes in the redirect URI.
Hence, I am closing this issue.


General purpose mock/fake to aid testing serial port code

I'm just wrapping up work on a ROS sensor driver using Serial, and it would be really convenient if there were a general-purpose mock I could pass in, with back doors for filling out the read-from buffer and inspecting the contents of the written-to buffer.
Is such a thing available or in the works? If not, would there be interest in a pull request to add it?
From a quick look at the Serial source, it seems like it would be necessary to make a small modification to the existing source—either move the pimpl_ pointer to protected, so that an inheriting FakeSerial could change it to point somewhere else, or introduce a new constructor which allows the user to simply pass in the desired implementation (dependency injection).
From the perspective of a user of the library, it's possible of course to template it away and then use googlemock or similar, but it would be very convenient if testing helpers were simply provided.

Providing an interface serial::ISerial could help solve this problem by allowing dependency injection on it. This does not change the current implementation other than inheritance but I allows user to create their own white box class for tests.
I could submit a pull request for it has I will need it for a project really soon.


[Snyk] Security upgrade django from 5.0.9 to 5.0.10

Snyk has created this PR to fix 2 vulnerabilities in the pip dependencies of this project.
Snyk changed the following file(s):

requirements/py313-django50.txt

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Command Injection
🦉 SQL Injection

Rejecting due to conflicts