db.run to CREATE TABLE

Hi
I would like to create a table if it doesn't exist. My code is not working.
function(db, data, done){

  db.run("CREATE TABLE IF NOT EXISTS revenue(id serial primary key, \"Date\" integer, \"Account Name\" varchar(255) not null, \"Total Sold Imps\" integer, \"Imps Bought\" integer, \"Publisher Rev\" numeric)",
  function(err, res){
    if(err){  console.log("error: " + err); }
    else{
      db.revenue.insert(data, function (err, res) {
        if(err){  console.log("error: " +err); }
        done();
      });
    }
  });

}

If the table does not exist it creates it and then exits with:

TypeError: Cannot read property 'insert' of undefined

The second time around (or if the table does exist) it works perfectly.
I also tried using async.series with the same results.
  async.series([createTable, saveTable], function(err,results){
    if(err){  console.log("error: " + err); }
    done();
  });

  function createTable(cb){
    db.run("CREATE TABLE IF NOT EXISTS revenue(id serial primary key, \"Date\" integer, \"Account Name\" varchar(255) not null, \"Total Sold Imps\" integer, \"Imps Bought\" integer, \"Publisher Rev\" numeric)",
    function(err, res){
      if(err){  console.log("error: " + err); }
      else cb();
    });
  }

  function saveTable(cb)  {
    db.revenue.save(data, function (err, res) {
      if(err){  console.log("error: " +err); }
      cb();
    });
  }

Is there anyway to asynchronously create a table and then use it? Thanks!

I also tried
  db.runSync("CREATE TABLE IF NOT EXISTS revenue(id serial primary key, \"Date\" integer, \"Account Name\" varchar(255) not null, \"Total Sold Imps\" integer, \"Imps Bought\" integer, \"Publisher Rev\" numeric)");
  db.revenue.insert(data, function (err, res) {
    if(err){  console.log("error: " +err); }
    done();
  });

But had the same results.

Massive only scans for db objects on startup, so if you alter your schema while it's running you'll need to reconnect to your database (with the exception of document tables as mentioned in #259 ). Doing that on command shouldn't cause any major problems since Node is single-threaded, but unless you have some scenario that absolutely requires modifying your schema on the fly it's better to have it all ready before you connect Massive in the first place so you're only incurring the startup cost once.

@dmfay - many thanks
Any idea how to disconnect using db.run()? I've tried to connect to another database, \q.. even
  db.runSync("select pg_terminate_backend(pid) from pg_stat_activity where datname= 'Excel'")

Thanks!

@swinston100 - I don't think you want to terminate the connection that way. I you really need to reload the schema, you should look into ways, in the context of your application, to just re-initialize the db variable by calling connect again, which is what causes the database schema stuff to be loaded.
I am wondering why you need to create a table such as Account at runtime? Are you certain this issue is not related to a need to re-examine your database architecture? I strongly suspect you might want to consider how it is you are persisting Account records. Can you provide some detail as to why you want to do this?

Hi @xivSolutions
i tried to re-initialize the db variable
both with simply
var massiveInstance = massive.connectSync({connectionString : Database.connectionString});
app.set('db', massiveInstance);
var massiveDB = app.get('db');
//create table
massiveInstance = massive.connectSync({connectionString : Database.connectionString});
Database.writeDB(massiveDB, excelData, done);

and
var massiveInstance = massive.connectSync({connectionString : Database.connectionString});
app.set('db', massiveInstance);
var massiveDB = app.get('db');
//create table
var kassiveInstance = massive.connectSync({connectionString : Database.connectionString});
app.set('dab', kassiveInstance);
var kassiveDB = app.get('dab');
Database.writeDB(kassiveDB, excelData, done);

But neither reloaded the schema.
The database schema is decided at runtime as it is based on an excel spreadsheet given by a user.

You might take a look at the /test/helpers/index.js file for an example of re-setting the Db.
Note, you will need to watch mixing your sync/async calls here - if you make an async call to do your table creates, you will need to wrap your call to reset the Db in a callback that gets executed when the table creates are done.
In this case, you might want to factor out your loading of the Db and setting of the Express variable into a discrete method. Also, I would probably go all-in with async calls/callbacks here. First off, we will be deprecating the deasync stuff in the near future, and also it will save you from possible situations where your code execution cooks right on past an async call to create tables, and executes the next (sync) call to load the Db, when in fact the table create bits have likely not even executed yet.

@xivSolutions  - thanks. I treid resetting in the same manner as index.js but with no luck.
I was making sure with callacks that insert was only happening after the rest which in turn only happened after the create.
I have found a solution where I use pg to create the table
var pg = require("pg");
pg.connect("postgres://postgres:password@localhost/excel", function(err, client, done){
  client.query("CREATE TABLE IF NOT EXISTS revenue(id serial primary key, \"Date\" integer, \"Account Name\" varchar(255) not null, \"Total Sold Imps\" integer, \"Imps Bought\" integer, \"Publisher Rev\" numeric)");
  done()
});

And only after that do I load massive.
Ideally I would have loved to just stick to massive but this now works well.
Thanks for your help! Really appreciated!

Great - glad you solved it :-)


Expand on readme

Current readme is enough for now, but should be expanded on when/if the feature set becomes practical for external usage

Vlosing this in favor of #36


#31     _SyncStreamControllerDispatch._sendDone
           (dart:async/stream_controller.dart:741:19)
           #32     _StreamController._closeUnchecked
           (dart:async/stream_controller.dart:596:7)
           #33     _StreamController.close (dart:async/stream_controller.dart:589:5)
           #34     _Socket._onData (dart:io-patch/socket_patch.dart:2173:21)
           #35     _rootRunUnary (dart:async/zone.dart:1444:13)
           #36     _CustomZone.runUnary (dart:async/zone.dart:1335:19)
           #37     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1244:7)
           #38     _BufferingStreamSubscription._sendData
           (dart:async/stream_impl.dart:341:11)
           #39     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
           #40     _SyncStreamControllerDispatch._sendData
           (dart:async/stream_controller.dart:733:19)
           #41     _StreamController._add (dart:async/stream_controller.dart:607:7)
           #42     _StreamController.add (dart:async/stream_controller.dart:554:5)
           #43     new _RawSocket.<anonymous closure>
           (dart:io-patch/socket_patch.dart:1709:35)
           #44     _NativeSocket.issueReadEvent.issue
           (dart:io-patch/socket_patch.dart:1206:18)
           #45     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
           #46     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
           #47     _runPendingImmediateCallback
           (dart:isolate-patch/isolate_patch.dart:119:13)
           #48     _RawReceivePortImpl._handleMessage
           (dart:isolate-patch/isolate_patch.dart:188:5)

[   +7 ms] Running shutdown hooks
[   +1 ms] Shutdown hooks complete
[   +2 ms] the Dart compiler exited unexpectedly.
[   +2 ms]
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
           #1      DefaultResidentCompiler._compile.<anonymous closure>
           (package:flutter_tools/src/compile.dart:767:13)
           #2      _rootRun (dart:async/zone.dart:1420:47)
           #3      _CustomZone.run (dart:async/zone.dart:1328:19)
           #4      _CustomZone.runGuarded (dart:async/zone.dart:1236:7)
           #5      _BufferingStreamSubscription._sendDone.sendDone
           (dart:async/stream_impl.dart:394:13)
           #6      _BufferingStreamSubscription._sendDone
           (dart:async/stream_impl.dart:404:7)
           #7      _BufferingStreamSubscription._close
           (dart:async/stream_impl.dart:291:7)
           #8      _SinkTransformerStreamSubscription._close
           (dart:async/stream_transformers.dart:87:11)
           #9      _EventSinkWrapper.close (dart:async/stream_transformers.dart:21:11)
           #10     _StringAdapterSink.close (dart:convert/string_conversion.dart:251:11)
           #11     _LineSplitterSink.close (dart:convert/line_splitter.dart:135:11)
           #12     _SinkTransformerStreamSubscription._handleDone
           (dart:async/stream_transformers.dart:132:24)
           #13     _rootRun (dart:async/zone.dart:1420:47)
           #14     _CustomZone.run (dart:async/zone.dart:1328:19)
           #15     _CustomZone.runGuarded (dart:async/zone.dart:1236:7)
           #16     _BufferingStreamSubscription._sendDone.sendDone
           (dart:async/stream_impl.dart:394:13)
           #17     _BufferingStreamSubscription._sendDone
           (dart:async/stream_impl.dart:404:7)
           #18     _BufferingStreamSubscription._close
           (dart:async/stream_impl.dart:291:7)
           #19     _SinkTransformerStreamSubscription._close
           (dart:async/stream_transformers.dart:87:11)
           #20     _EventSinkWrapper.close (dart:async/stream_transformers.dart:21:11)
           #21     _StringAdapterSink.close (dart:convert/string_conversion.dart:251:11)
           #22     _Utf8ConversionSink.close (dart:convert/string_conversion.dart:305:20)

           #23     _ConverterStreamEventSink.close
           (dart:convert/chunked_conversion.dart:81:18)
           #24     _SinkTransformerStreamSubscription._handleDone
           (dart:async/stream_transformers.dart:132:24)
           #25     _rootRun (dart:async/zone.dart:1420:47)
           #26     _CustomZone.run (dart:async/zone.dart:1328:19)
           #27     _CustomZone.runGuarded (dart:async/zone.dart:1236:7)
           #28     _BufferingStreamSubscription._sendDone.sendDone
           (dart:async/stream_impl.dart:394:13)
           #29     _BufferingStreamSubscription._sendDone
           (dart:async/stream_impl.dart:404:7)
           #30     _BufferingStreamSubscription._close
           (dart:async/stream_impl.dart:291:7)
           #31     _SyncStreamControllerDispatch._sendDone
           (dart:async/stream_controller.dart:741:19)
           #32     _StreamController._closeUnchecked
           (dart:async/stream_controller.dart:596:7)
           #33     _StreamController.close (dart:async/stream_controller.dart:589:5)
           #34     _Socket._onData (dart:io-patch/socket_patch.dart:2173:21)
           #35     _rootRunUnary (dart:async/zone.dart:1444:13)
           #36     _CustomZone.runUnary (dart:async/zone.dart:1335:19)
           #37     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1244:7)
           #38     _BufferingStreamSubscription._sendData
           (dart:async/stream_impl.dart:341:11)
           #39     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
           #40     _SyncStreamControllerDispatch._sendData
           (dart:async/stream_controller.dart:733:19)
           #41     _StreamController._add (dart:async/stream_controller.dart:607:7)
           #42     _StreamController.add (dart:async/stream_controller.dart:554:5)
           #43     new _RawSocket.<anonymous closure>
           (dart:io-patch/socket_patch.dart:1709:35)
           #44     _NativeSocket.issueReadEvent.issue
           (dart:io-patch/socket_patch.dart:1206:18)
           #45     _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
           #46     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
           #47     _runPendingImmediateCallback
           (dart:isolate-patch/isolate_patch.dart:119:13)
           #48     _RawReceivePortImpl._handleMessage
           (dart:isolate-patch/isolate_patch.dart:188:5)

[   +2 ms] Running shutdown hooks
[        ] Shutdown hooks complete
[  +13 ms] exiting with code 1

Analyzing android...
No issues found! (ran in 0.8s)

[√] Flutter (Channel dev, 2.6.0-0.0.pre, on Microsoft Windows [Version 6.1.7601], locale
    en-CA)
    • Flutter version 2.6.0-0.0.pre at C:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 83b9e99cfb (3 days ago), 2021-08-23 19:03:21 +0200
    • Engine revision d5adde01dd
    • Dart version 2.15.0 (build 2.15.0-42.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\Yuliya\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 2020.3)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[√] VS Code
    • VS Code at C:\Users\Yuliya\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.12.0

[√] Connected device (2 available)
    • TA 1004 (mobile) • NB1GAD1832601470 • android-arm64  • Android 9 (API 28)
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 91.0.4472.124

• No issues found!

Any ideas on what might be causing this , I am experiencing a very similar problem at the moment.

This seems to be the same as https://github.com/flutter/flutter/issues/16103, apparently happening when switching between flutter versions (not only stable -> dev).
Solutions seems to be:

rm -rf bin/cache/* in FLUTTER_HOME
flutter clean in the project home
git reset --hard in FLUTTER_HOME (WARNING: will delete all untracked files)
git clean -xffd in FLUTTER_HOME (WARNING: will delete all untracked files)

(I advise to research about the result of each command before executing it)

@TahaTesser maybe there is a way to solve this issue for all past versions? maybe the only way it write a line about it in the docs?


Use run.py for Python bindings testing to not loose per-module tests

https://github.com/opencv/opencv/pull/22368


Search is broken

https://docs.neo.org/docs/en-us/index.html
The search box in the left menu is not functional. No matter what you enter in there, is always says "No results found".

It‘s OK in my computer, what's your OS and browser.

OSX, latest Chrome browser. Turned off Add Blocker just to be sure, still no luck.

I've got another person to validate if the search is working for him on OSX + Chrome and it does, so I'm closing this and blame it on some unknown issue on my side.


Adds SchedulingPolicy to Gateway api type

Previously, a user had no ability to constrain the placement of a gateway to a specific node or a set of nodes. SchedulingPolicy provides a schematic approach for scheduling a gateway using a nodeSelector or tolerations.
/assign @bowei

Should SchedulingPolicy also support node affinity?

Should this not be done via NodeSelectors on the Deployment/Pod for each instance of the proxy?

@hbagdi this PR supports NodeSelector as a type of SchedulingPolicy. Adding SchedulingPolicy support will allow users to fine-tune the Gateway deployment using service-apis instead of performing the task manually.

Even if we do do this, why should this not be a concern of GatewayClass instead?

Let's say I have a GatewayClass named "private". This GatewayClass is used for intra-cluster communications and is associated to multiple gateways. A subset of the gateways should be scheduled to worker nodes with increased capacity used for storage replication. I create a Gateway configured with SchedulingPolicy, directing the deployment to the high capacity nodes and associate it to GatewayClass "private".

@bowei commit 238e532 moves the scheduling policy to GatewayClass.

How portable do we expect this to be?

I expect a gateway class controller to run as a pod. The underlying mechanisms of a scheduling policy, i.e. node selector, have been around for a long time. Therefore, I would expect most clusters to support this feature. I did mark the SchedulingPolicy field as Extended.

Cloud controllers don't typically run in cluster.
Also, controllers for external LBs (e.g. F5) don't correspond to the a physical deployments.
I know of several large deployments of nginx controller that run off cluster as well on a dedicated pool of VMs.
This might be one of those things that is very use-case specific.

Discussed in office hours. For in-cluster ingress, the gateway class is backed by some kind of proxy deployment, but what kind of proxy deployment and how it is scheduled can be described in the ParametersRef using vendor specific config. So we could leave this for now and look at standardizing what vendors do?

Closing based on the consensus that Gateway scheduling is implementation specific.
cc: @ironcladlou @Miciah


does not work with esp-idf-v5 (latest master) (EUB-33)

Hello,
Although I can compile and flash this project, it is only usable as a serial monitor. It is unable to flash any esp modules (using esptool) when compiled against esp-idf-v5. It only works against esp-idf-v4.4 (and maybe earlier). I'm using an esp32-s2 module as a flasher module.
Is this an issue or did you drop support for esp-idf-v5? Either way, the issue is in esp-idf, not here, since I also tried a tool I wrote myself a while back. It also works with esp-idf-v4.4 but not with esp-idf-v5. I'm just wondering, is this an overlooked issue, or intentional?

this has been resolved by esp-idf issue 9041


Fixes Environment checks load order

fixes https://github.com/qooxdoo/qooxdoo-compiler/issues/692 & adds support for worker class initialisation
This PR has a corresponding https://github.com/qooxdoo/qooxdoo/pull/10069 in the main framework and needs to be merged with this

IMHO "workerClass" should be documented in compile-1-0-0.json?

i think that the framework needs to be merged first and that then this PR will pass the tests; the only possible issue is that the Manifest.json will have content that's not allowed, but it looks like the schema isn'y being checked anyway.  But to be sure, I'm going to create another PR with just the Manifest.json changes which will mean that when framework PR is subsequently published it is correct as far as the compiler is concerned, then we can look at merging this PR

The question was: What's the difference between workerClass and class. The description said: Based on qx.application.Basic, which both dose

A Worker class is for Workers - they need to boot their own instance of an application and then communicate between the two via postMessage.  I've had second thoughts about leaving it in there now, it's not really the point of this PR and depends on another framework PR yet to be released...


Optimize NuGet package downloads for a specific operating system

EphemeralMongo use a dedicated runtime NuGet package for each operating system (linux-x64, osx-x64 and windows-x64).
However, when using EphemeralMongo4, EphemeralMongo5 or EphemeralMongo6, the three OS-specific runtime packages are downloaded and copied to the build output, which takes time and a lot of space. The ideal solution would to only download the relevant runtime package for the consuming operating system.
Unfortunately, there is no viable solution today to optimize the download process.

It is not an option to download MongoDB and the tools at runtime, there could be network issues, some people use proxies and firewalls, we would have to implement a reliable cache.
.NET does not provide (yet) a way to use conditional NuGet dependencies on both the target framework moniker (TFM) and a runtime identifier (RID).

There are actually a lot of opened issues in the .NET GitHub repository about option #2, so it might be possible in a future version of .NET:

https://github.com/NuGet/Home/issues/1660
https://github.com/NuGet/Home/issues/5862
https://github.com/NuGet/Home/issues/10571
https://github.com/dotnet/runtime/issues/49137
https://github.com/dotnet/sdk/issues/4552

Using runtime.json is also not an option because it is deprecated, undocumented, and was created for internal .NET Core NuGet packages.
Until then, we'll stick with the RID-specific runtime package.

I finally got around to try EphemeralMongo. 😃
It seems to me that there's an easy solution to reduce the download size with the existing packages. Instead of importing EphemeralMongo through the EphemeralMongo6 package, one can import the EphemeralMongo.Core package and the runtime package conditionally, so that only the runtime for the current OS is restored (i.e. downloaded).
In other technical words, going from this:
<ItemGroup>
  <PackageReference Include="EphemeralMongo6" Version="0.1.3" />
</ItemGroup>

to this:
<ItemGroup>
  <PackageReference Include="EphemeralMongo.Core" Version="0.1.3" />
  <PackageReference Include="EphemeralMongo6.runtime.linux-x64" Version="0.1.3" Condition="$([MSBuild]::IsOSPlatform('Linux'))" />
  <PackageReference Include="EphemeralMongo6.runtime.osx-x64" Version="0.1.3" Condition="$([MSBuild]::IsOSPlatform('OSX'))" />
  <PackageReference Include="EphemeralMongo6.runtime.win-x64" Version="0.1.3" Condition="$([MSBuild]::IsOSPlatform('Windows'))" />
</ItemGroup>

It's not as tidy and a built-in solution would be nicer but it can definitely save some bandwidth and time.
Maybe it could be worth mentioning this approach in the README?

@0xced done! Thank you for the suggestion.

Linking some more issues that discuss the matter (even if not obvious from their titles).

https://github.com/dotnet/core/issues/7568
https://github.com/NuGet/NuGetGallery/issues/9473
https://github.com/dotnet/sdk/issues/33845

Interesting how all theses issues are still open. 😅
Also, note that the libclang package is using the undocumented runtime.json feature.


camelCase or underscore_

Working on new APIs, as well as Observable/Flowable, and ReactiveStreams ... question has been brought up whether we should use camelCase and capitalized class names, or if we should use the std and boost standards of everything being lower case and using underscores.
Current camelCase approach:
    auto s = std::make_shared<ExampleSubscriber>(5, 6);
    rsf->connect().then([s](std::shared_ptr<RSocketRequester> rs) {
      rs->requestStream(Payload("Bob"), s);
    });
    s->awaitTerminalEvent();

or:
    auto s = std::make_shared<example_subscriber>(5, 6);
    rsf->connect().then([s](std::shared_ptr<rsocket_requester> rs) {
      rs->request_stream(payload("Bob"), s);
    });
    s->await_terminal_event();

Current Subscriber:
  void onSubscribe(std::shared_ptr<Subscription> subscription) noexcept override;
  void onNext(Payload element) noexcept override;
  void onComplete() noexcept override;
  void onError(folly::exception_wrapper ex) noexcept override;

or:
  void on_subscribe(std::shared_ptr<subscription> subscription) noexcept override;
  void on_next(payload element) noexcept override;
  void on_complete() noexcept override;
  void on_error(folly::exception_wrapper ex) noexcept override;

Note that I prefer camelCase ... but that's 20ish years of Java speaking. I do however find it easier to type camelCase than and underscore.
folly uses camelCase: https://github.com/facebook/folly/tree/master/folly
Aeron C++ uses camelCase as well: https://github.com/real-logic/Aeron/tree/master/aeron-driver/src/main/cpp

camelCase++

std:: and boost:: are widely used; many libraries based off these (see, for instance "beast") follow the same conventions: lower_case_with_underscores. Programs using std::, boost:: and something else like folly:: have to inevitably deal with multiple styles everywhere. So, +1 for underscores.

Further discussions inside FB leaned heavily towards camelCase. So ... camelCase.

camelCase


Change how we expose the naming of topics and queues

...what could go wrong...
One of the things I feel is confusing about JustSaying is the naming strategy.
When configuring JustSaying subscribers and publishers, you are provided with a number of ways to configure resource names including properties on the configuration classes as well as any implementation of INamingStrategy, without it being clear how they interact.
What I'm proposing is we remove the INamingStrategy concept and only use the fluent API to configure resource names. I'll try to ensure that it's straightforward enough for someone to write an extension method in case a centralised means of naming is required...kind of like a naming strategy :)

Is it something we really want to remove from JustSaying? The naming strategy is something consumers can plug-in if they want to change it and have a different name for their queues. Having a standard way to do it with the default Naming Strategy is not a bad thing IMO as it allows you not to configure extra parameters like the queue name itself (as it uses the message, environment and tenant values that you have to configure anyway).

Maybe, but in its current form it's quite confusing especially when you're building your stack and there are methods like "WithQueue(...)" where you can provide a name - it doesn't make for a very intuitive experience. There's no reason why a consumer couldn't provide their own mechanism for creating queue names which could plug into the fluent API rather than it all be hidden away in a naming strategy by default.
I'm not pushing this change as something we should definitely do but if it at least creates a discussion around how we expose the naming of resources to the consumers of JustSaying in V7 then that's great!

I agree, INamingStrategy is confusing.
Could you post a sample of what you propose the fluent configuration should look like (apologies, but I found this hard to grasp from the commits)

So my thinking was you either explicitly provide a topic / queue name through the API or the sanitised type name of the message will be used (similar to what was in the default naming strategy)...

`ForTopic()' would create a topic called "blah"
'ForTopic("my-awesome-topic")` would create a topic called "my-awesome-topic"

If we decide this approach is sensible then I'll update the docs to make it clearer

I think removing the strategy and changing to "whatever our defaults are" or "explicitly what you say to use" is OK, provided that there's clear docs as to what the defaults are (which could also contain an example of how to create a custom convention using an extension method?)

Next bit is adding the custom convention that I'm definitely not calling a naming strategy

OK so I've added IDefaultQueueNamingConvention and IDefaultTopicNamingConvention with default implementations that continue to do what is currently done in JustSaying.
I'm not sure I'm happy with the names but it's a start. I also figured the sensible place for this to be exposed is through builder.Messaging(...) as below;
return new ServiceCollection()
    .AddJustSaying(
        (builder, serviceProvider) =>
        {
            builder.Messaging((options) =>
                {
                    options.WithRegion(RegionName)
                        .WithDefaultTopicNamingConvention<MyDefaultTopicNamingConvention>()
                        .WithDefaultQueueNamingConvention(new MyDefaultQueueNamingConvention());
                })
                .Client((options) =>
                {
                    options.WithSessionCredentials(AccessKeyId, SecretAccessKey, SessionToken)
                        .WithServiceUri(ServiceUri);
                });

            configure(builder, serviceProvider);
        });

NamingConvertion is spot on 👍

This is nearly there as far as changes I want to make now...the last thing is changing how the extension methods in TypeExtensions are used as they can probably go now

Right, no more changes for me to push for now 👍

@slang25 any other thoughts on this?

Nope, love it 😃

@martincostello @maurofranchi do either of you two have any further thoughts on this change?

I haven't looked at it yet, but I will.


Please add a  -f flag to the force:data:soql:query command.

The general problem is currently queries are only passed through the command line.
At first this does not seem to be problematic because one can use a commandline like:
sfdx force:data:soql:query -r human -q "$(cat scripts/soql/Accounts.soql)"

However, for the same reason the other data commands need a -f flag, so does a query.
The biggest issue is the passing in the query as a command line option makes long queries impossible under windows.
The longest command line supported under MINGW is 8192 characters.  The longest command line support under cmd.exe is 8192 characters, ...   But salesforce supports queries with as many as 100000 characters.
Even when one is within the commandline limits, it makes directions unnecessarily complicated.  As one has to tell a cmd.exe user how to occomplish the equivalent of a cat command under windows.
What are you trying to do
Run queries without resorting to workbench.  For example I wrote a script that uses a dynamically generated query that is 9826 characters long.  I tried every trick in the book but I could not find a way our Windows users could run the script, even though it worked perfectly for me under Fedora.   I finally ended resorting to making the script just output the query, and telling the user they had to run the query in workbench.
Describe the solution you'd like
I would like a solution that allows almost unlimited length queries, regardless of platform, from commandline scripts.
Describe alternatives you've considered
I did try an anonymous apex script that uploads the query into salesforce using callbacks and runs it as a batch query.   That solution works.  However, we do not allow developers Anonymous Apex access in production.   So I then had to modify the script to run on one sandbox to do the callbacks into production.   That worked for the large static query.  But for the dynamically generated query I needed to query production and generate another query to send to production.  That is extremely messy and low level to do through callbacks.

Hi @docbill, thank you for the feature request. The ability to specify a file for the soql query text will be available in this week's latest-rc build of sfdx-cli. If you want to try it now run sfdx plugins:install data.

Thanks.  I'm not sure if I am testing this right.  But if I am, it doesn't seem to work:
[briemers@briemers tech-debt]$ sfdx plugins:install data
Polling for new version(s) to become available on npm... done
Successfully validated digital signature for @salesforce/plugin-data.
Finished digital signature check.
warning "sfpowerkit ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>Installing plugin data... installed v2.1.1
[briemers@briemers tech-debt]$ sfdx force:data:soql:query -r human -f scripts/DataMigration/Contacts/01contact-Sales01.soql
    TypeError: Cannot read properties of undefined (reading 'prototype')

Looks like there are problems even when not using the -f flag:
[briemers@briemers tech-debt]$ sfdx force:data:soql:query -r human -q "select Id from Contact limit 1"
    TypeError: Cannot read properties of undefined (reading 'prototype')

@docbill what are the results of sfdx version --verbose

It is working as expected when using sfdx-cli@latest-rc.
$ sudo npm install --force --global sfdx-cli@latest-rc
...
$ sfdx force:data:soql:query -r human -f scripts/DataMigration/Contacts/01contact-Sales01.soql
Querying Data... ⢿
...


Adding necessary import-Statements

I'm using GHC version 7.8.4 and Cabal version <IP_ADDRESS> on Fedora. I needed the import statements added by this pull request to compile the project with "cabal install"

Hmm, this shouldn't be necessary anymore. Please submit a new pull request if you're still having issues.


Preserve command line arguments on subsequent windows even when changing folders

In my launch.json, I have --disable-extension specified in the args
https://github.com/eamodio/vscode-gitlens/blob/53c9a42886e455189577fc7bf99fdc5eed25ae5c/.vscode/launch.json#L51-L74
This works fine for the initial launch, but if I change workspaces/folders in the Extension Development Host window, the --disable-extension flag seems to get lost.

@bpasero Assigning to you because it seems related to env args.

My feeling is that we might need more tweaks similar to what we do in reload:
https://github.com/microsoft/vscode/blob/155691d0bec4acfac0e3bbccb362f61278a132de/src/vs/code/electron-main/window.ts#L750-L775
It is quite possible that none of the initial launch arguments are kept when changing folders in the target.
@weinand can you help me understanding how these args end up in the window? Are they literally passed as command line arguments when launching?

@bpasero VS Code receives the request to launch another instance of VS Code in "rawDebugSession.ts" from the debug extension and basically constructs a command line from the received arguments:

Then we call extensionHostDebugService.openExtensionDevelopmentHostWindow(...) which is already in your land.

This goes way beyond extension development: any command line arguments that are passed to a N+1 startup (not the first) is lost when you change folders. This is a bit similar to our recent fixes for preserving the shell environment even when you change folders I would say. But it could be risky to just blindly take over all the original CLI args to each folder, especially we could not take over the file/folder related arguments. And some arguments maybe only make sense for specific folders?
I am a bit too afraid to change this...

Maybe we could identify a set of flags that we think should apply?
Here is my list:

--disabled-extension
--disabled-extensions
--enable-proposed-api
--disable-gpu
 --inspect-extension
 --inspect-brk-extension
--log
--max-memory
--prof-startup
--sync
--telemetry

Yeah, some of them are already listed for the reload case:
https://github.com/microsoft/vscode/blob/c4d77ea6193e639dfad1431fe92a6c611d697a28/src/vs/code/electron-main/window.ts#L763-L769
Combining this logic for reload and load would make sense to me. If you feel strong, feel free to propose a PR.

@bpasero I tried adding disable-extension, since I use that in GitLens and we use it in the GHPR extension, but I can't seem to get it to work.
I see that there are multiple different code paths for what gets run depending on if you are using native dialogs, vs the simple dialog. In the simple dialog case, it doesn't even look like we use the args from the environment service. In the native case, we do, but that property doesn't get incorporated into the environment service or anything, so it only seems to survive into the openExtensionDevelopmentHostWindow call, which only seems to get called on the first launch of the exthost window.
Can you provide any more pointers?

@bpasero I tried adding disable-extension, since I use that in GitLens and we use it in the GHPR extension, but I can't seem to get it to work.
I see that there are multiple different code paths for what gets run depending on if you are using native dialogs, vs the simple dialog. In the simple dialog case, it doesn't even look like we use the args from the environment service. In the native case, we do, but that property doesn't get incorporated into the environment service or anything, so it only seems to survive into the openExtensionDevelopmentHostWindow call, which only seems to get called on the first launch of the exthost window.
Can you provide any more pointers?

@eamodio as I said before, a ICodeWindow will be loaded with some configuration here from anywhere a window is either opened or reused:
https://github.com/microsoft/vscode/blob/c8ff3471b596a8a21e1f080f3f038e08ee148b6e/src/vs/code/electron-main/window.ts#L693-L693
If the window was loaded before (and thus is reused) you could be able to access the configuration of that window similar to how it is done here:
https://github.com/microsoft/vscode/blob/c8ff3471b596a8a21e1f080f3f038e08ee148b6e/src/vs/code/electron-main/window.ts#L700-L700
Currently we do not preserve any of the configuration of the window other than in this particular case for the process environment. If we want e.g. the 'disable-extension' property to be saved and reused, we would need to explicitly copy it over into the new config, e.g. doing:
if (!Array.isArray(config['disable-extension'])) {
	config['disable-extension'] = (this.currentConfig ?? this.pendingLoadConfig)?.['disable-extension'];
}

This might be dangerous though in case disable-extension was set differently already for the open request (i.e. it may be undefined for a reason to not disable extensions anymore).
Maybe only if the window is for extension development, we would preserve some extension development related properties (there are probably more), e.g. looking at:
https://github.com/microsoft/vscode/blob/c8ff3471b596a8a21e1f080f3f038e08ee148b6e/src/vs/code/electron-main/window.ts#L782-L788

@eamodio as I said before, a ICodeWindow will be loaded with some configuration here from anywhere a window is either opened or reused:
https://github.com/microsoft/vscode/blob/c8ff3471b596a8a21e1f080f3f038e08ee148b6e/src/vs/code/electron-main/window.ts#L693-L693
If the window was loaded before (and thus is reused) you could be able to access the configuration of that window similar to how it is done here:
https://github.com/microsoft/vscode/blob/c8ff3471b596a8a21e1f080f3f038e08ee148b6e/src/vs/code/electron-main/window.ts#L700-L700
Currently we do not preserve any of the configuration of the window other than in this particular case for the process environment. If we want e.g. the 'disable-extension' property to be saved and reused, we would need to explicitly copy it over into the new config, e.g. doing:
if (!Array.isArray(config['disable-extension'])) {
	config['disable-extension'] = (this.currentConfig ?? this.pendingLoadConfig)?.['disable-extension'];
}

This might be dangerous though in case disable-extension was set differently already for the open request (i.e. it may be undefined for a reason to not disable extensions anymore).
Maybe only if the window is for extension development, we would preserve some extension development related properties (there are probably more), e.g. looking at:
https://github.com/microsoft/vscode/blob/c8ff3471b596a8a21e1f080f3f038e08ee148b6e/src/vs/code/electron-main/window.ts#L782-L788


some question about paper

Hello author, I have a few questions about your article and I hope to get your help: @Guangxuan-Xiao

If the K-1 tokens before the current token are truncated each time (if the maximum context window is K), and the sequence is re-calculated for attention, will the PPL not suddenly increase a lot?

In theory, when maintaining the maximum sequence length, if there are 4 tokens in front as anchor points, inputting a new token will only crowd out the first token. There are still 3 tokens behind, and ppl will decrease, but why does it increase so much?

I would like to confirm whether streaming llm only discards the kv of the intermediate Evicted token in the normal inference KV cache. Therefore, it is actually an improvement on the normal KV cache to accelerate inference. In the case of continuous input, there is no need to clear the cache. recalculate

Hello,
Thank you for reaching out with your questions. I'd be happy to clarify.

The effect on perplexity depends on the window size, K. Consider a large window size like 2048. The difference in perplexity when predicting the next token based on the previous 2048 tokens, as opposed to the preceding 2047 tokens, is marginal. So, the PPL will not have much difference.

 The very first token typically carries the highest importance. Removing it can cause a significant performance drop in the model. Please take a look at Figure 2 in our paper for a detailed visualization of this effect.

If I understand correctly, you're comparing StreamingLLM and the dense attention baseline. StreamingLLM does more than just enhance inference speed. When you rely solely on dense attention, which retains all historical KVs, the model's perplexity would drastically increase for texts surpassing the pre-training window length. This is because the model struggles to generalize to more extended sequences. Therefore, StreamingLLM optimizes both efficiency and language model performance.

I hope this clarifies your questions.
Guangxuan


Avoid lifting to nullable

Hello! I have a problem with filtering grid by a nested non-nullable property. My code looks like this:
public class ChildModel
{
    public DayOfWeek EnumProp { get; set }
}

public class ParentModel
{
    public ChildModel Child { get; set; }
}

Child is always not null, but when I try to filter by condition like Child.EnumProp", "=", 1, I get my value lifted to Nullable<DayOfWeek>, resulting in an exception thrown by EF Core: System.InvalidOperationException: The binary operator Equal is not defined for the types 'System.Nullable1[System.DayOfWeek]' and 'System.DayOfWeek'.`
I assume that it's related to changes made when fixing #240
Is there a way to avoid lifting to nullable in this case? Or maybe you know a workaround how the necessary conversion can be made on the Entity Framework Core side?
Thanks in advance!

Hello
Please check this test:
https://github.com/AlekseyMartynov/DevExtreme.AspNet.Data/blob/issue-493/net/DevExtreme.AspNet.Data.Tests.EFCore/Bug493.cs
The filter runs successfully.
Expression:
[Microsoft.EntityFrameworkCore.Query.QueryRootExpression].Where(obj => (obj.Child.EnumProp == Monday))

SQL:
SELECT [b].[ID], [b].[ParentID]
FROM [Bug493_ParentModel] AS [b]
LEFT JOIN [Bug493_ChildModel] AS [b0] ON [b].[ParentID] = [b0].[ID]
WHERE [b0].[EnumProp] = 1

Have I missed any important detail?

Thank you for your answer! I played around with this test case and it turned out that I missed some important detail. Even though the Child cannot be null we had a not-so-implicit mapping with a null-check. With that, the test you provided will look like this:
public class Bug493 {

    [Table(nameof(Bug493) + "_" + nameof(ParentModel))]
    public class ParentModel {
        public int ID { get; set; }

        [ForeignKey(nameof(ChildModel.ParentID))]
        public ChildModel Child { get; set; }
    }

    [Table(nameof(Bug493) + "_" + nameof(ChildModel))]
    public class ChildModel {
        public int ID { get; set; }
        public int ParentID { get; set; }
        public DayOfWeek EnumProp { get; set; }
    }

    [Table(nameof(Bug493) + "_" + nameof(ParentDto))]
    public class ParentDto {
        public ChildDto Child { get; set; }
    }

    [Table(nameof(Bug493) + "_" + nameof(ChildDto))]
    public class ChildDto {
        public DayOfWeek EnumProp { get; set; }
    }

    [Fact]
    public async Task Scenario() {
        await TestDbContext.ExecAsync(context => {
            var parents = context.Set<ParentModel>();

            parents.Add(new ParentModel {
                Child = new ChildModel {
                    EnumProp = DayOfWeek.Monday
                }
            });

            context.SaveChanges();
            var query = parents.Select(p => new ParentDto {
                Child = p.Child == null ? null : new ChildDto {
                    EnumProp = p.Child.EnumProp
                }
            });

            var loadResult = DataSourceLoader.Load(query, new SampleLoadOptions {
                Filter = new object[] { "Child.EnumProp", 1 },
            });

            Assert.NotEmpty(loadResult.data);
        });
    }
}

Notice the null check p.Child == null ? null : new ChildDto. Turned out that this is the cause of the issue. In cases like this, Linq.Expression converts all the ChildDto value type props to nullable types. And it looks like this is not something you can detect when compiling a query
And in the case you may be curious I also played around with this scenario and found some additional details:
if we write a query like this
var monday = DayOfWeek.Monday;
var query = parents.Select(p => new ParentDto {
    Child = p.Child == null ? null : new ChildDto {
        EnumProp = p.Child.EnumProp
    }
}).Where(p => p.Child.EnumProp == monday);

using just Linq.Expressions, it results in
DbSet<ParentModel>()
    .Select(p => new ParentDto{ Child = p.Child == null ? null : new ChildDto{ EnumProp = p.Child.EnumProp }
         }
    )
    .Where(p => (int)p.Child.EnumProp == (int)<>c__DisplayClass4_0.monday)

Notice the conversion to int. The DevExpress query builder doesn't do that, it leaves the parameters as enums. And this way there's no problems with filtering. But nevertheless, now it fails to map results to ChildDto, because of EnumProp returning type is still nullable while the type is in the model is not:
System.InvalidOperationException : Rewriting child expression from type 'System.DayOfWeek' to type 'System.Nullable`1[System.DayOfWeek]' is not allowed, because it would change the meaning of the operation. If this is intentional, override 'VisitUnary' and change it to allow this rewrite.

And even if we rewrite the Where clause to Where(p => p.Child != null && p.Child == monday) it still won't help avoiding the lifting to nullable. So I am not sure if this can be solved on your side
As for us, we decided to just remove this null check and now it works fine. But I'm also thinking about asking CoreLib maintainers to advice about this kind of situation, because I'm sure that in the future we will face it again
Thanks for your time!
And of course feel free to close the issue if you don't have any additional ideas

Thanks for the additional research.

Notice the conversion to int. The DevExtreme query builder doesn't do that, it leaves the parameters as enums.

You can actually see this difference with plain C# too. Please compare:
Expression<Func<ParentDto, bool>> where1 = i => i.Child.EnumProp == DayOfWeek.Monday;

// (System.Int32)($i.Child).EnumProp == 1

vs.
var p2 = Expression.Parameter(typeof(ParentDto), "i");
Expression<Func<ParentDto, bool>> where2 = Expression.Lambda<Func<ParentDto, bool>>(
    Expression.MakeBinary(
        ExpressionType.Equal,
        Expression.Property(Expression.Property(p2, "Child"), "EnumProp"),
        Expression.Constant(DayOfWeek.Monday)
    ),
    p2
);

// ($i.Child).EnumProp == .Constant<System.DayOfWeek>(Monday)

I think, we could put our expression builder in line with what C# compiler generates. However, as you mentioned, the query fails with and without typecast. I prefer not to take any action at this time.


How can we revert to using pickadate's classic style/theme?

Can we configure pickadate to use it's default classic style instead of the materialise style?
As materialise bundles pickadate, i don't want to include the library again into my project. Instead i want to theme it using sass.

You have to clone materialize, remove the pickadate files and compile it yourself. Our pickadate that is bundled is modified.


NTR: ATP-dependent FeS chaperone activity

To annotate ATPases
Please provide as much information as you can:

Suggested term label:
ATP-dependent FeS chaperone activity

Definition (free text)
Binding to and delivering metal ions to a target protein, driven by ATP hydrolysis.

Reference, in format PMID:#######
PMID:16843540

Parent term(s)
GO:0016530 metallochaperone activity
has part some 'ATP hydrolysis activity'

Children terms (if applicable) Should any existing terms that should be moved underneath this new proposed term?

Synonyms (please specify, EXACT, BROAD, NARROW or RELATED)
ATP-dependent Fe-S chaperone activity
ATP-dependent iron-sulfur chaperone activity

Cross-references

For enzymes, please provide RHEA and/or EC numbers.

Can also provide MetaCyc, KEGG, Wikipedia, and other links.

Any other information

+[Term]
+id: GO:0140663
+name: ATP-dependent FeS chaperone activity
+namespace: molecular_function
+def: "Binding to and delivering metal ions to a target protein, driven by ATP hydrolysis." [PMID:16843540]
+is_a: GO:0016530 ! metallochaperone activity
+relationship: has_part GO:0016887 ! ATP hydrolysis activity
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/21661 xsd:anyURI
+created_by: pg
+creation_date: 2021-06-19T16:33:09Z
+


feat: provision method for luis authoring

Description
Implementing luis authoring provision method.
Work in progress for new azure provisioning service layer (this code is not live to customers yet).
Task Item
refs #7629

Coverage remained the same at 56.423% when pulling af01d6ee3018faeed3407dc8fe5381b79c12e62b on natalgar/7629-luis-authoring into 05b856d2f01011a10c40e466720cb983cab180a7 on main.

replacing this PR with #8321


Don't sudo git commands in tracking

Remove the need to sudo git commands in the CI. Seems to be causing issues now where it wasn't before https://github.com/timothy-nunn/PROCESS/actions/runs/9222376176 ?

Tested all actions running: https://github.com/timothy-nunn/PROCESS/actions/runs/10350468763


chore(backend): clean up auth service + middleware

Changes proposed in this pull request

separate auth (including introspection) and httpsig backend middleware
move introspection tests from auth middleware to auth service

Context

setup for:

#798
#737

Checklist

[ ] Related issues linked using fixes #number
[x] Tests added/updated
[ ] Documentation added
[x] Make sure that all checks pass

Will re-open after rebasing and addressing

https://github.com/interledger/rafiki/issues/845

rebased & re-ready for review


NIFI-13430 for support/nifi-1.x

Summary
NIFI-00000
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[ ] Apache NiFi Jira issue created

Pull Request Tracking

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

Pull Request Formatting

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

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

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

[ ] JDK 21

Licensing

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

Documentation

[ ] Documentation formatting appears as expected in rendered files

@exceptionfactory Updated for the 1.x support branch.

@exceptionfactory addressed and builds are starting.

Merged in https://github.com/apache/nifi/commit/a044af8d6cb64f53d4ee851a8c7bffe73e3eaf0b


chore(all): Add type definition to support TypeScript

Issue
#219

Coverage increased (+0.03%) to 93.214% when pulling 901f839614b892e756e78f568ad4dad2f38d0f7d on jongmoon:TypeDefinition#219 into 216b27a6fa96b704a583a125d12538b90f59a4ac on naver:master.


Reference hardware

MCU board

DevEBox STM32F407VGT6 or STM32F407VET6

CAN transceiver

TJA1050 module

LIN transceiver

TJA1021

You can buy it on TaoBao or AliExpress

FAQ:
Q. Do i need to make changes to firmware for STM32F405 ?
A. Nope. You no need to change anything.
Q. Can you provide photo of your MCU test board ?
A. Yes. As example you can use such boards.

FAQ:
Q. Do i need to make changes to firmware for STM32F405 ?
A. Nope. You no need to change anything.
Q. Can you provide photo of your MCU test board ?
A. Yes. As example you can use such boards.

Nice project. What lin driver did you install?

@Memfispro Thank you! You can use TJA1021 as LIN bus driver.

@Memfispro Thank you! You can use TJA1021 as LIN bus driver.

Thank you.

Q1; is it theoretically possible to change pinout to match F407 discovery or would it hit any pin/DMA/etc conflicts?
Q2: any chance to have pinout flexible at build time with defines etc?

A1: yep you can try absolutely any board you want with F407/F405 IC just connect pins as it described at main page table.
A2: nice tips, i will think about it.

Added support for HEX-V2 clone ( it will works as single channel CAN adapter, HW is STM32F415VG based ): LINK

Hi!
I have a STM32F405 board and want to flash this code.
I dont understand if need bootloadr or not.
I have to program the microcontroller with stlink and that's it?
should I use the bin or the hex?
I installed stm32cubeprogrammer, do you recommend something else?
thank you very much

@MC-tecnologias how much experience do you have with stm32 platform?
Please note that stm32 has build-in bootloader allowing you to program a chip using UART or CAN or USB.

hi @rusefillc !
thank you for replying.
I have experience in microcontrollers but mainly microchip family.
If I plug my board to the PC in DFU mode it recognizes it as "STM32 BOOTLOADER", so I could load the code that way?
should I choose the bin or the hex?

@MC-tecnologias i think you can load either of binary files

On instructions said "Be sure to use PB14/PB15 pins for USB if you wants PRO/PRO FD"
But HW board recommentations has USB on PA11/PA12.
I must flash with PA11/PA12 and then reconect USB on PB14/PB15?
thanks

I have my board programmed!
And windows recognize as "XCAN-USB-PRO CAN Device", but I dont have the driver installed.
Where can I download the driver?

I understand that it no longer appears with the peak vendor-id, but will the software that is waiting for a PCAN-USB recognize it?

@MC-tecnologias

I understand that it no longer appears with the peak vendor-id, but will the software that is waiting for a PCAN-USB recognize it?

You need to change two number to they original value to make it recognized by your system drivers... You can't load original PCAN drivers without such changes.

Hi, I have my board programmed and recognized by pcan-view and busmaster.
has an 8MHz crystal.
Looking with an oscilloscope nothing comes out of the PB8/PB9 or PB5/PB6 ports when I send a message with any of the software.
Am I missing something?
thanks!

@MC-tecnologias Did you attach CAN bus transceivers ( as example TJA1050 ) to that pins ?

Yes, I have a mcp2551.
Anyway, I understand that it is a transciever, so with or without it should come out pulses, correct?

If you built correct firmware and connect all as it should be it must works as expected.
p.s: MCP2551/TJA1050 use 5V as VDD

Yes, I have MCP powered with 5V and STM32 with 3V3.
The board is a drone flight controller with a stm32f405.

On code I only change:
pcan_usb_vendor_id
on pcanpro-usbd.h
And
usbd_manufacturer_string
usbd_product_string_hs
usbd_interface_can_string_hs
On usb_desc.h
It

The board is a drone flight controller with a stm32f405.

Please check your pin schematic, maybe you have pin conflict... maybe you try use PA11/PA12 pins for USB and for not suitable FW for that... i can't imagine all possibles situations.

Hi!
I solder STM32 to a breadboard and connect only it's neccesary pins.
And same result, windows recognize it (I understand that uC <=> PC connection is working) but never send measseges and dont turn on TX led.

hi @moonglow,
thank you very much for your time and help.
I am using the XCAN PRO version.
What I need is a can-bus interface recognized as PCAN-USB to communicate, through a special software, with a computer via CANOpen protocol.
I tried with the code modified by me but I also tried the V0.4 release without making any changes.
I always get the same result.

FAQ:
Q. Do i need to make changes to firmware for STM32F405 ? A. Nope. You no need to change anything.
Q. Can you provide photo of your MCU test board ? A. Yes. As example you can use such boards.

I found a with the same board and usb connection PA11/12. And I read the F407 manual. If you need a high speed PHY for USB-HS, should you use USB-FS or USB-HS for PB14/15?

@kristyandi Hi!
You no need high speed PHY for USB-HS in my case... Readme file refer you which one need to use, without hi-speed PHY USB-HS will works in USB-FS mode BUT it has much more endpoints for device such PCAN PRO so it is a little trick to get more endpoints for USB. One channel builds does no need to solder additional pins.
p.s: you can connect PA11 to PB14 and PA12 to PB15 to run any of that firmwares and have ability to run internal STM USB bootloader as example...

Added support for HEX-V2 clone ( it will works as single channel CAN adapter, HW is STM32F415VG based ): LINK

flashed this board with st-link and no sign of life...

@P208PUG maybe you can provide more information ? which version you flashed in ? how it recognized by your system... did you read about that issue #16  ?

@P208PUG maybe you can provide more information ? which version you flashed in ? how it recognized by your system... did you read about that issue #16 ? You can also read about that hw HERE.

so far so good :) proably my file was not good , with the others recognized corectly , red led flashing when connected..

proably my file was not good

In most cases this is main reason. You problem is solved ? That's why i try to ask about more information ^_^

proably my file was not good

In most cases this is main reason. You problem is solved ? That's why i try to ask about more information ^_^

Looks like my problem was compiled sw from fork one , or compiler issue a friend made it for me im only windows user and can't get make to work :)
my board pinout

Simple shield 2 can :) will report when arrive

works ok :) just changed usb to solid one :)

Hi when add this project ass makefile project and building it. It makes :
09:31:55 **** Incremental Build of configuration Default for project pcan_prox_01 ****
make all
make: Makefile:189: pipe: No such file or directory
make: Makefile:202: pipe: No such file or directory
make: Makefile:204: pipe: No such file or directory
make: Makefile:206: pipe: No such file or directory
make BOARD=pro DEBUG=0 OPT=-Os PROTO=Src/pcanpro_protocol.c BOARD_FLAGS='-DPCAN_PRO=1 -DINCLUDE_LIN_INTERFACE=1' elf hex bin
make[1]: Entering directory 'C:/Users/YiÄŸit/Downloads/pcan_pro_x-master (1)/pcan_pro_x-master'
make[1]: Makefile:189: pipe: No such file or directory
make[1]: Makefile:202: pipe: No such file or directory
make[1]: Makefile:204: pipe: No such file or directory
make[1]: Makefile:206: pipe: No such file or directory
make[1]: Nothing to be done for 'elf'.
make[1]: Nothing to be done for 'hex'.
make[1]: Nothing to be done for 'bin'.
make[1]: Leaving directory 'C:/Users/YiÄŸit/Downloads/pcan_pro_x-master (1)/pcan_pro_x-master'
make BOARD=pro_fd DEBUG=0 OPT=-Os PROTO=Src/pcanpro_fd_protocol.c BOARD_FLAGS='-DPCAN_PRO_FD=1 -DINCLUDE_LIN_INTERFACE=1' elf hex bin
make[1]: Entering directory 'C:/Users/YiÄŸit/Downloads/pcan_pro_x-master (1)/pcan_pro_x-master'
make[1]: Makefile:189: pipe: No such file or directory
make[1]: Makefile:202: pipe: No such file or directory
make[1]: Makefile:204: pipe: No such file or directory
make[1]: Makefile:206: pipe: No such file or directory
make[1]: Nothing to be done for 'elf'.
make[1]: Nothing to be done for 'hex'.
make[1]: Nothing to be done for 'bin'.
make[1]: Leaving directory 'C:/Users/YiÄŸit/Downloads/pcan_pro_x-master (1)/pcan_pro_x-master'
make BOARD=fd DEBUG=0 OPT=-Os PROTO=Src/pcanpro_fd_protocol.c BOARD_FLAGS='-DPCAN_FD=1 -DINCLUDE_LIN_INTERFACE=0' elf hex bin
make[1]: Entering directory 'C:/Users/YiÄŸit/Downloads/pcan_pro_x-master (1)/pcan_pro_x-master'
make[1]: Makefile:189: pipe: No such file or directory
make[1]: Makefile:202: pipe: No such file or directory
make[1]: Makefile:204: pipe: No such file or directory
make[1]: Makefile:206: pipe: No such file or directory
make[1]: Nothing to be done for 'elf'.
make[1]: Nothing to be done for 'hex'.
make[1]: Nothing to be done for 'bin'.
make[1]: Leaving directory 'C:/Users/YiÄŸit/Downloads/pcan_pro_x-master (1)/pcan_pro_x-master'
09:31:56 Build Finished. 0 errors, 16 warnings. (took 592ms)
Warnings occures. Then I ignore that warnings and loading hex file pcan_prox_fd hex file in my stm32f4 Discovery evalution board and doesnt excisting any output usb output channel. Am I doing something wrong how should I set up files and. How do I test it ? Is ıt works with directly stm32f4 discovery card ? I thing last is doesnt works because of havent got can transreceiver.

Can you add support to this devboard 3x can-FD https://www.aliexpress.com/item/1005005919904877.html

That board is not mine.
On Thu, 1 Feb 2024 at 19:17, P208PUG @.***> wrote:

Can you add support to this devboard 3x can-FD
https://www.aliexpress.com/item/1005005919904877.html
—
Reply to this email directly, view it on GitHub
https://github.com/moonglow/pcan_pro_x/issues/1#issuecomment-1921694961,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVEYP73Y5XS3YQ5O4IDXRRDYRO52HAVCNFSM4WD2ZY52U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJSGE3DSNBZGYYQ
.
You are receiving this because you commented.Message ID:
@.***>

works ok :) just changed usb to solid one :) can anyone point me where from can get pcanfd .hex

hello bro, where can i buy this vn1610 mainboard?


RHIF-34 Create tabs for available and completed tasks

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@269c125). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 57aa8a3 differs from pull request most recent head 41ad1c2. Consider uploading reports for the commit 41ad1c2 to get more accurate results

@@            Coverage Diff             @@
##             master        #2   +/-   ##
==========================================
  Coverage          ?   100.00%
==========================================
  Files             ?         5
  Lines             ?        24
  Branches          ?         2
==========================================
  Hits              ?        24
  Misses            ?         0
  Partials          ?         0

Continue to review full report at Codecov.

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

@leSamo The issues are resolved.
I'm not sure I understand the benefit of map vs. for loop. for loops are known to technically be faster, and I honestly still have an easier time understanding a for loop much more than map. As far as making it inline, I see the benefit of doing it this once, but often apps inline too many lines of code and it become hard to read. Sometimes functions are just easier to parse through.
All that being said, I think your changes are okay for this PR and I'm happy to make them. This is just a discussion point I'd like to start.


Tab completion?

It would be awesome if hub could add some tab completion for it's commands. Has this been considered before?
If not, I can try to look into it.

Nope. Go nuts!

Using hub pull-request, you could have turned your existing issue into a pull request without creating a new one :P just sayin'
Closing in favor of the pullreq


Inappropriate ioctl for device (zsh)

so i made a function within my .zshrc to be able to bind a key to fff.
it looks like this:

fff-cd() {
fff "$@"
cd "$(cat "${XDG_CACHE_HOME:=${HOME}/.cache}/fff/.fff_d")"
}
zle -N fff-cd
bindkey ^Z fff-cd

and it DOES open fff, however it ignores any input, stays in home directory and you dont even see directories, just the status bar. Heres the error from terminal:

stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device

i dont know what this means or why this happens so any help is appreciated on how to fix this/make this work!

ok so i made it work not using bindkey ^Z fff-cd but bindkey -s "^z" "fff-cd\n, which instead of trying to run the function as a function, inputs the text "fff-cd" into the command line and practically presses enter so you run the command, which runs the function, which works.


Mv'd sample tf files to dir, added README (its text needs work)

This PR moves the sample files for Terraform into their own directory, including a README. The copy in the README needs work.
Will moving the files make things easier? Or is it unnecessary clutter?

This would fix #1030

This also needs to update every spot in the docs where the sample files are mentioned.

This is going to be superseded by dockerizing the deployment. I'm closing this


Benchmark NiMARE ALE against GingerALE

We can run both versions with comparable parameters on a small dataset and compare both outputs duration.

I think that these differences are completely reasonable and that we can conclude that the two implementations are equivalent, so I'm closing this.


Allow opening from a git (or already imported stackblitz) repo

@Mearman thanks for the great feedback. Both of these are now live on production:
Importing repos from github: https://x.com/stackblitz/status/1843668731681267801
Import projects from StackBlitz:

thank you as a stopgap I made a bookmarklet
javascript: (function () {
	var url = window.location.href;
	var match = url.match(/github\.com\/([^\/]+\/[^\/]+)/);
	if (match) {
		var repo = match[1];
		var newUrl = "https://bolt.new/~/github.com/" + repo;
		window.open(newUrl, "_blank");
	} else {
		alert("Not a valid GitHub repository URL.");
	}
})();

@Mearman yep, that should continue to work!


Add test for AttrDict.update() method

Fixes #101
It seems there is no issue and the issue from which this originates lies elsewhere.
This simply adds a test for expected valid types to be used with AttrDict.update().

Codecov Report

Merging #102 (238fd4b) into master (a1307ba) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #102   +/-   ##
=======================================
  Coverage   72.86%   72.86%
=======================================
  Files          35       35
  Lines         914      914
=======================================
  Hits          666      666
  Misses        248      248

Flag
Coverage Δ

linux
72.75% <ø> (ø)

windows
72.77% <ø> (ø)

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

Continue to review full report at Codecov.

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


Update var-dax.md

adjusted formatting of the final DAX codeblock for readability.
The declaration for "VAR Sales = SUM(SalesTable[SalesAmount])" was on the same line as the measure declaration.

@kfollis
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


How to map Application URLs example BTP SAAS product Resource Management in identity provider --> Create new application

Issue description

Feedback Type (Optional)
None
Page Title on SAP Help Portal (prefilled)
Manually Establish Trust and Federation Between SAP Authorization and Trust Management Service and Identity Authentication
Page URL on SAP Help Portal (prefilled)
https://help.sap.com/docs/BTP/65de2977205c403bbc107264b8eccf4b/7c6aa87459764b179aeccadccd4f91f3.html

Dear @gkumar-5,
Thank you for your feedback. We will look into it and get back to you if we have questions.

Hi @gkumar-5,
I don't understand what your feedback is.  Are you saying you want an example of how to map application URLs? This documentation is only about how to establish trust between BTP and an identity provider. Nor is this our recommended method for establishing trust. We would prefer you to use OIDC: https://help.sap.com/docs/btp/sap-business-technology-platform/establish-trust-and-federation-between-uaa-and-identity-authentication

C4P_BTP_SSO.docx

Hi @gkumar-5 ,
If I understand your issue correctly, there is no need for any special URL mapping. The subscribed app runs in your subaccount. As long as it is configured to use SAP Authorization and Trust Management service (XSUAA), when your user attempts to log on, XSUAA will forward the user to SAP Cloud Identity services for authentication no the basis of this trust configuration. If the user successfully authenticates, SAP Cloud Identity returns a SAML token, which XSUAA accepts and the user can access the resource.

Closing.


Add nongeneric batchwrite to dynamodbcontext

As an expansion to #2503, this provide non-generic put's in batch.
Description
Allows for a batch put without needing a strongly typed T.
Motivation and Context
See #2503 for more detail, but makes for easy integration with EF's for batch deleting where the items are archived into DynamoDB.
Testing
Sorry, I still can't seem to get the tests to build.   I have tested locally by integrating into an EF application.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[x] I have read the README document
[ ] I have added tests to cover my changes
[ ] All new and existing tests passed

License

[x] I confirm that this pull request can be released under the Apache 2 license

@muhammad-othman -- I believe I have addressed your PR comments.   Let me know if there is any additional cleanup needed.
Thanks!

@ericjpeters  Changes look good. I'll send the PR through our full dry run build and assuming that doesn't have any issues I'll approve it.

PR is queued up to go out with next non-service update release. Those types of releases usually happen about once every other week.

The PR was rebased, merged and released as part of version 3.7.104 of the DynamoDB package. Thanks for the PR!


[Go] Split tests into its own package

I don't have a strong rational for this. Originally, I thought it would remove testify and yaml as dependencies. But I do kind of like the separation. Also, I think compilation times will be slightly faster.

Change tests package to cgokzg4844_test.
Move UnmarshalText functions to main.go.

Cannot add methods to non-local types.
I think these are good to define publicly.
Added an extra check for "0x" there.

Remove private functions (sha256).

Unnecessary, really.
Can't benchmark from different package.

Add ckzg4844.  in a bunch of places.

Is it canonical to have the tests in a separate package? I think this is a common Go problem, so Go community probably has a consensus on it.
I'm curious if we can find any Go project that does this. Currently I can find none.

Good question. I don't believe there is consensus. It's a different strategy, see this link:

https://stackoverflow.com/a/31443271

As for projects that do this, here are some instances I could find. It's way less common than I thought though, as it was pretty difficult to find these. I think I'm going to revert this change to keep things simple. It didn't accomplish my original goal anyway, to minimize dependencies.

go/src/hash/marshal_test.go
go/src/math/all_test.go
go/src/strconv/atob_test.go
prometheus/storage/fanout_test.go

@ppopth Sorry if this is confusing, but I decided to repurpose this PR. Please re-review.

LGTM!


Upgrade dotnet core version to 3.1

Hello. I am so sorry for seemingly abandoning the project. I really cannot find any time to work on it, at the moment. Hope all is well with you!

It is what it is. I havent done much work on it recently either.
Just before Christmas the company I was working for went into liquidation.
I went for four interviews and mentioned this project in all of them. Three
of the interviewers loved civ and loved the project and I got three job
offers. I may have got offers without CivOne but I am sure it helped. Thank
you.
On Sat, 14 Mar 2020, 9:22 pm SWY1985<EMAIL_ADDRESS>wrote:

Hello. I am so sorry for seemingly abandoning the project. I really cannot
find any time to work on it, at the moment. Hope all is well with you!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SWY1985/CivOne/pull/503#issuecomment-599043056, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAD7ODTK3SEXSGBZFRH5N5TRHNSGBANCNFSM4LEVPJNA
.

Wow, that's great! Just shows what a great game Civilization actually is... that people still love a 25+ year old game. In fact, I've used CivOne at a job interview myself last year. I'm really happy that our code has helped you this way.
My work has been so interesting for the past 10 months. I'm working from home now, and I only have to go to the office once every 2-3 weeks. I'm building a IoT platform for smart buildings, and I've got all kinds of devices stacked on a table at home, and wires running everywhere. Building everything in .NET Core. It's amazing, I'm getting everything I ask for and I've got total freedom on how I design the software and hardware. I am rarely able to limit my work time to 8 hours a day... most of the time I'm so immersed in work that I forget about the time...
But spending all day at home, working, probably makes it so that I cannot find the motivation to work on more code in my free time... without it feeling like work. I'm still trying to find a balance between work, family and leisure development... and of the three, family is more important and work is just necessary.
Hopefully I am able to eventually find a better balance for this and get back to seeing development as a hobby as well as work.

Your work sounds pretty interesting.
Family and work will always come before a hobby project but I would suggest
you make a post on civ fanatics letting everyone know you are ok but busy.
On Sat, Mar 14, 2020 at 9:50 PM SWY1985<EMAIL_ADDRESS>wrote:

Wow, that's great! Just shows what a great game Civilization actually
is... that people still love a 25+ year old game. In fact, I've used CivOne
at a job interview myself last year. I'm really happy that our code has
helped you this way.
My work has been so interesting for the past 10 months. I'm working from
home now, and I only have to go to the office once every 2-3 weeks. I'm
building a IoT platform for smart buildings, and I've got all kinds of
devices stacked on a table at home, and wires running everywhere. Building
everything in .NET Core. It's amazing, I'm getting everything I ask for and
I've got total freedom on how I design the software and hardware. I am
rarely able to limit my work time to 8 hours a day... most of the time I'm
so immersed in work that I forget about the time...
But spending all day at home, working, probably makes it so that I cannot
find the motivation to work on more code in my free time... without it
feeling like work. I'm still trying to find a balance between work, family
and leisure development... and of the three, family is more important and
work is just necessary.
Hopefully I am able to eventually find a better balance for this and get
back to seeing development as a hobby as well as work.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SWY1985/CivOne/pull/503#issuecomment-599046819, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAD7ODVLL6JZOMWYHDKI6MDRHNVRDANCNFSM4LEVPJNA
.

Life and work often interfere with side projects!
When I was working from home, I always found it hard to flip over to working on my own stuff. I wanted to switch gears and do something completely different!
As for CivOne, I did a big flurry of fixes for a little while, then got bogged down trying to tackle a larger piece [AI behavior]. So not much progress from me lately either!
In any case, a big "thank you!" for starting this project!
All the best,
Kevin