DatabaseSettingsStore  results caching help

Trying to extend the DatabaseSettingStore class to caching the database results but i don't have any idea how to extend & use the extended class in app. Any help will be appreciated.
MY Store Class
use anlutro\LaravelSettings\DatabaseSettingStore;
class MyStore extends DatabaseSettingStore {
	protected function write(array $data){
			cache()->forget('settings');
			parent::write();
	}
	protected function read(){
		return cache()->rememberForever('settings', function() {
			return parent::read();
		});
	}
}

Don't no where i have to place the below code in laravel. Whether i have to place the below code in Laravel AppServiceProvider?
Setting::extend('mystore', function($app) {
	return $app->make('MyStore');
});

Hello and thanks for wanting to contribute!
Yes, the correct place to put the Settings::extend call would be in a AppServiceProvider, in the boot method.
I haven't worked with Laravel in a few years now, so you might want to consider looking for help from people more up-to-speed with it than me - maybe the laravel IRC channel. They might also be able to respond faster than me. I will still answer any questions you post here though, don't worry about that :)

Thanks for your help  quick reply. Still i confused after placing the below code in AppServiceProvider. I don't now how to call  mystore. Tried IRC channel no luck.
Setting::extend('mystore', function($app) {
	return $app->make('MyStore');
});

Have you set the config file to use mystore as the store instead of json or database? If you do that, Setting::get etc. should all be using your store class.

I changed the config tore option to cachingstore but laravel throws an error
ReflectionException (-1)
Class CachingSettingStore does not exist

Also i shared my entire code below
ReflectionException (-1)
Class CachingSettingStore does not exist

App\SettingDriver\CachingSettingStore.php
namespace App\SettingDriver;

use anlutro\LaravelSettings\DatabaseSettingStore;

class CachingSettingStore extends DatabaseSettingStore {

	protected function write(array $data){
		parent::write($data);
		cache()->forget('settings');
	}
	protected function read(){
               return parent::read();
	}

	public function all(){
	      return cache()->rememberForever('settings', function() {
		   return parent::all();
	     });
        }

}

App\Providers\AppServiceProvider.php
namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

use Setting;
use App\SettingDriver\CachingSettingStore;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(191);
        Setting::extend('cachingstore', function($app) {
            return $app->make('CachingSettingStore');
        });
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

App\Http\Controllers\UserSettingsController.php
namespace App\Http\Controllers;
class UserSettingsController extends Controller
{
       public function index(){
		return setting()->all();
	}
}

App\config\settings.php
return [
	/*
	|--------------------------------------------------------------------------
	| Default Settings Store
	|--------------------------------------------------------------------------
	|
	| This option controls the default settings store that gets used while
	| using this settings library.
	|
	| Supported: "json", "database"
	|
	*/
	'store' => 'cachingstore',

	/*
	|--------------------------------------------------------------------------
	| JSON Store
	|--------------------------------------------------------------------------
	|
	| If the store is set to "json", settings are stored in the defined
	| file path in JSON format. Use full path to file.
	|
	*/
	'path' => storage_path().'/settings.json',

	/*
	|--------------------------------------------------------------------------
	| Database Store
	|--------------------------------------------------------------------------
	|
	| The settings are stored in the defined file path in JSON format.
	| Use full path to JSON file.
	|
	*/
	// If set to null, the default connection will be used.
	'connection' => null,
	// Name of the table used.
	'table' => 'settings',
	// If you want to use custom column names in database store you could
	// set them in this configuration
	'keyColumn' => 'key',
	'valueColumn' => 'value'
];

I changed the config store option to cachingstore but laravel throws an error
ReflectionException (-1)
Class CachingSettingStore does not exist

Also i shared my entire code below
ReflectionException (-1)
Class CachingSettingStore does not exist

App\SettingDriver\CachingSettingStore.php
namespace App\SettingDriver;

use anlutro\LaravelSettings\DatabaseSettingStore;

class CachingSettingStore extends DatabaseSettingStore {

	protected function write(array $data){
		parent::write($data);
		cache()->forget('settings');
	}
	protected function read(){
               return parent::read();
	}

	public function all(){
	      return cache()->rememberForever('settings', function() {
		   return parent::all();
	     });
        }

}

App\Providers\AppServiceProvider.php
namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

use Setting;
use App\SettingDriver\CachingSettingStore;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(191);
        Setting::extend('cachingstore', function($app) {
            return $app->make('CachingSettingStore');
        });
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

App\Http\Controllers\UserSettingsController.php
namespace App\Http\Controllers;
class UserSettingsController extends Controller
{
       public function index(){
		return setting()->all();
	}
}

App\config\settings.php
return [
	/*
	|--------------------------------------------------------------------------
	| Default Settings Store
	|--------------------------------------------------------------------------
	|
	| This option controls the default settings store that gets used while
	| using this settings library.
	|
	| Supported: "json", "database"
	|
	*/
	'store' => 'cachingstore',

	/*
	|--------------------------------------------------------------------------
	| JSON Store
	|--------------------------------------------------------------------------
	|
	| If the store is set to "json", settings are stored in the defined
	| file path in JSON format. Use full path to file.
	|
	*/
	'path' => storage_path().'/settings.json',

	/*
	|--------------------------------------------------------------------------
	| Database Store
	|--------------------------------------------------------------------------
	|
	| The settings are stored in the defined file path in JSON format.
	| Use full path to JSON file.
	|
	*/
	// If set to null, the default connection will be used.
	'connection' => null,
	// Name of the table used.
	'table' => 'settings',
	// If you want to use custom column names in database store you could
	// set them in this configuration
	'keyColumn' => 'key',
	'valueColumn' => 'value'
];

I changed the config store option to cachingstore but laravel throws an error
ReflectionException (-1)
Class CachingSettingStore does not exist

Also i shared my entire code below
App\SettingDriver\CachingSettingStore.php
namespace App\SettingDriver;

use anlutro\LaravelSettings\DatabaseSettingStore;

class CachingSettingStore extends DatabaseSettingStore {

	protected function write(array $data){
		parent::write($data);
		cache()->forget('settings');
	}
	protected function read(){
               return parent::read();
	}

	public function all(){
	      return cache()->rememberForever('settings', function() {
		   return parent::all();
	     });
        }

}

App\Providers\AppServiceProvider.php
namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

use Setting;
use App\SettingDriver\CachingSettingStore;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(191);
        Setting::extend('cachingstore', function($app) {
            return $app->make('CachingSettingStore');
        });
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

App\Http\Controllers\UserSettingsController.php
namespace App\Http\Controllers;
class UserSettingsController extends Controller
{
       public function index(){
		return setting()->all();
	}
}

App\config\settings.php
return [
	/*
	|--------------------------------------------------------------------------
	| Default Settings Store
	|--------------------------------------------------------------------------
	|
	| This option controls the default settings store that gets used while
	| using this settings library.
	|
	| Supported: "json", "database"
	|
	*/
	'store' => 'cachingstore',

	/*
	|--------------------------------------------------------------------------
	| JSON Store
	|--------------------------------------------------------------------------
	|
	| If the store is set to "json", settings are stored in the defined
	| file path in JSON format. Use full path to file.
	|
	*/
	'path' => storage_path().'/settings.json',

	/*
	|--------------------------------------------------------------------------
	| Database Store
	|--------------------------------------------------------------------------
	|
	| The settings are stored in the defined file path in JSON format.
	| Use full path to JSON file.
	|
	*/
	// If set to null, the default connection will be used.
	'connection' => null,
	// Name of the table used.
	'table' => 'settings',
	// If you want to use custom column names in database store you could
	// set them in this configuration
	'keyColumn' => 'key',
	'valueColumn' => 'value'
];

You need to provide the fully qualified class name to app->make:
$app->make('App\SettingsDriver\CachingSettingStore')

Works like a charm except table name reference. In the setting config table name is settings but cachingSettingStore refers persistant_settings  table instead of settings.

Ah. You need to modify your $app->make statement to pass in all the configuration variables. That doesn't get done automatically. You might not even need to use $app->make at all, see here for example.

@anlutro  Sorry! I didn't get you. Can you please provide some example using my code as base.

Hey, sorry, I kinda forgot about this.
What I mean is, in your serviceprovider, you have to replace your $app->make('App\SettingDriver\CachingSettingStore') call with something like this:
new CachedDatabaseSettingStore($connection, $table, $keyColumn, $valueColumn);

You can look up this function to get an idea of how to get the values for $connection, $table and so on. If you replace $this->getConfig with $this->app['config']->get I think a lot of things will just work, but you may need to replace the :: in the config keys with dots or something. I'm not really up to speed on how configuration works in Laravel 5.


[BUG] Tooltip doesn't show when generating anchorSelect dynamically

Describe the bug
Tooltip doesn't show when generating anchorSelect dynamically
Version of Package
v5.10.0
To Reproduce
Create a list of items where each one has a different tooltip and h-generate the id and anchorId dynamically
    <Body weight="semiBold" size="small" id={ '#teammate-${props.teammate.id}-emails-tooltip' }>         { props.teammate.name }     </Body>     <ReactTooltip render={ emailTooltipContent } anchorSelect={ '#teammate-${props.teammate.id}-emails-tooltip' } />
Expected behavior
The tooltip should be shown
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information if possible or delete this section):

OS: MacOS
Browser: Chrome
Version: 110.0.5481.177
Frameworks: React 18

Additional context
It's working when adding a static id, but every line of the table show the same tooltip content (the last one)

I created a code sandbox to reproduce the issue:
https://codesandbox.io/s/hopeful-bhabha-w7nqho?file=/src/App.js

Actually, it's working on the code sandbox, it seems to be related to my application.
Any idea of what could produce this issue?
When I load the page, sometimes, some are showing, but the majority of tooltip are not working :(

It seems I found the issue, I was generating an uuid on the fly as id.
Adding some text in front of it fixed the issue. Weird :)

@vddgil just a suggestion, if you're using React 18, you can test the useId from React


Cloudflare analytics snapshot blog post

I shared on our Slack server that we had gotten access to Cloudflare analytics.
This provided us with a 7 day history of traffic stats.
There are a number of caveats by using this data, but the data is interesting nonetheless.
I feel it makes sense to share my findings with the community.

Looks like I can't reopen the PR easily because I did a force push, so I have to do some dancing to make it happen. Stand by.

Thanks @gregsdennis for your review =]

I left a few comments. As a general style suggestion, I found the use of ellipses to be awkward.

Thanks. It's good to improve readability where possible. Revised and removed.


Possible missing features

First of all, thank you for this library, but it seems that some features are missing.

[x] Applying default attributes to a node, edge, graph etc. is not possible, since the "Identifier" is automatically encapsulated by double quotes. As a solution, maybe only encapsulate the identifier when it is actually necessary? Although, this makes it impossible to identify a node as "node".digraph a {
    // default
   node[shape=box];
}

[x] The amount of attributes is very limited, for example setting fontname, xlabel etc. is not possible, see https://graphviz.org/doc/info/attrs.html. I think implementing all of those manually is too much work an unnecessary, so a solution might be an option to add custom attributes? e.g. IDotElement.AddAttribute(string(or DotAttribute enum), object)?
[x] It is possible for a style attribute to have multiple values, separated by a comma, e.g. [shape=box style="filled, rounded"]. (marking enums as flags?)
[x] Labels can contain HTML, for example to display a table, label=<<TABLE>...</TABLE>>, but since the label value is automatically encapsulated with double quotes this is not possible. Maybe adding a HtmlLabelAttribute?

@vfrz I saw you tried to implement default styles by implementing your own logic, but this is already a feature of GraphViz DOT and I think the selling point of a library like this should be simplicity.
Default styles can also be set per subgraph / cluster.
https://stackoverflow.com/questions/26553273/how-to-set-default-node-shape-to-box-instead-of-oval

Hey,
Thanks for the issue, currently I don't have much time to work on this project.
At first DotNetGraph was just a personnal project to be able to print an abstract syntax tree for another project of mine. And so it didn't require a lot of features, that is why a lot is missing.

I didn't know about default style within the GraphViz DOT language, seems effectively easier than implementing it my own way.
The idea of allowing custom attributes seems fair and good to reduce DotNetGraph limitations.
Like the previous idea, having mutliple values using flag enums seems good.
I am not sure if a specified attribute should exist depending on the format, maybe just have a LabelAttribute with a property specifying the format is more appropriate (easier for checking unicity, what to do if we add a "classic" LabelAttribute and a HtmlLabelAttribute?)

I will try to implement all of these changes asap, in the meanwhile feel free to discuss about it and PR are welcome if you feel like to participate.

@vfrz I made a pull request for determining if an identifier should be surrounded by quotes.
For the LabelAttribute I was thinking about:

creating a LabelFormat enum with Text and Html
adding a LabelFormat parameter (and property) to the LabelAttribute constructor
modifying DotCompiler to check for LabelAttribute.Format

is this okay?

Thanks for your pull request, I just merged it.
Using an enum to specify the label format seems good to me.
I think I'll update the nuget package later on, tell me if you need it shortly.

Closing this issue as all items have been resolved with v3 except for the default attributes, it will be handled with #6


Issues with pulling/pushing remote repo

Hi,
I'm running this small piece of code to test a bit Irmin. At the moment I have a repository on BitBucket that I'm trying to first read and then write:
open Lwt
open Irmin_unix

module Main (C: V1_LWT.CONSOLE) = struct

module S = Irmin_git.FS(Irmin.Contents.String)(Irmin.Ref.String)(Irmin.Hash.SHA1)
module Sync = Irmin.Sync(S)

let config = Irmin_git.config ~root:"/tmp/test" ~bare:true ()
 let upstream = Irmin.remote_uri<EMAIL_ADDRESS>
let read () =
  S.Repo.create config >>= S.master task
  >>= fun t  -> Sync.pull_exn (t "Syncing with upstream store") upstream `Update
  >>= fun () -> S.read_exn (t "get the README") ["README.md"]
  >>= fun r  -> Printf.printf "%s\n%!" r; return_unit

let write () =
  S.Repo.create config >>= S.master task
  >>= fun t -> S.update (t "Updating my file")  ["README.md"] "NEW SENTENCE!"
  >>= fun () -> Lwt.return(Printf.printf "Done writing!\n%!")
  >>= fun () -> Sync.push (t "Pushin to remote stream") upstream >>= function
  | `Ok -> Printf.printf "End"; return_unit
  | `Error -> Printf.printf "Bad"; return_unit

let start console () =
  read () >>= fun () -> write ()

end

While reading doesn't cause me any trouble, writing fails constantly.  This is usually due to an invalid client request.")
Raised at file "src/core/lwt.ml", line 789, characters 22-23
Called from file "src/unix/lwt_main.ml", line 34, characters 8-18
Called from file "main.ml", line 87, characters 5-10

I'm pretty sure I'm missing some instructions: I was not able to find the equivalent of "git add" and "git commit" in the API docs.
Moreover, I have noticed that even if I just run the read () function, the git repository appears corrupted. This is the output of git fsck --full:
Checking object directories: 100% (256/256), done.
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: packfile .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.pack index not opened
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
broken link from  commit 6363392e72fdef2d87bf16b54a887f7c385cf274
              to  commit f174c5f25ea29e26a68ce7ea52958be8f3d53d88
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
broken link from    tree 5b498a4c8cb53ee8e8dfd9f9d391daf851d77756
              to    tree 053b72fe752df4e4d541994a4b6f9d788fba39ae
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
missing tree 053b72fe752df4e4d541994a4b6f9d788fba39ae
error: wrong index v2 file size in .git/objects/pack/pack-bcfc9411d763fba12d4ea84e0a3c5dd86e6fd669.idx
missing commit f174c5f25ea29e26a68ce7ea52958be8f3d53d88

If I clone manually the repository (git clone), none of the above error messages appear.

Which version of ocaml-git are you using? git push is unfortunately not very stable so I am not too surprised. If you have time and are willing to look at fixing this I would welcome any patches :-)

Hi samoht,
I'm using version 1.9.2. This is the output of opam show git:
             package: git
             version: 1.9.2
          repository: default
        upstream-url: https://github.com/mirage/ocaml-git/releases/download/1.9.2/git-1.9.2.tbz
       upstream-kind: http
   upstream-checksum: 21f45942e044efe1b7f9f592ef7b10e0
            homepage: https://github.com/mirage/ocaml-git
         bug-reports: https://github.com/mirage/ocaml-git/issues
            dev-repo: https://github.com/mirage/ocaml-git.git
              author: Thomas Gazagnaire
             license: ISC
                 doc: https://mirage.github.io/ocaml-git/
             depends: cmdliner & mstruct >= 1.3.1 & ocamlgraph & uri >= 1.3.12 & lwt >= 2.4.7 & mtime & logs & fmt & hex & astring
             depopts: mirage-types-lwt | mirage-http | mirage-flow | channel | cohttp | conduit | base-unix | camlzip | nocrypto
   installed-version: 1.9.2 [4.02.3]
  available-versions: 1.0.0, 1.0.1, 1.0.2, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7, 1.4.8, 1.4.9, 1.4.10, 1.4.11, 1.5.0, 1.5.1, 1.5.2, 1.5.3, 1.6.0, 1.6.1, 1.6.2, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.9.0, 1.9.1, 1.9.2, dev~mirage
         description: Git format and protocol in pure OCaml

I'm still a neophyte in OCaml but will have anyway look at ocaml-git and see if I can find the issue :-)

I've been exploring a bit the ocaml-git repo and started to debug it to understand where is the bug. I've added some more debug traces and modified the library code. To make it short I found out that the push command fails because it tries to read something from the input channel while actually there is nothing to read.
With the changes applied to the ocaml-git code, that's the output I receive (attaching only the relevant part):
[...]
2016-11-11 14:17.06: DBG [git.pack] add hash: 678e7bb1d4acd3b0ac9d9b3fbbe563af812f22f0
2016-11-11 14:17.06: DBG [git.sync] SENDING: 2738 bytes
2016-11-11 14:17.06: DBG [git.sync] PacketLine.input
2016-11-11 14:17.06: DBG [git.sync] WOW -> PacketLine.input_raw
2016-11-11 14:17.06: DBG [git.unix] READ_EXACTLY IN PROGRESS (4)
2016-11-11 14:17.06: DBG [git.unix] READ_EXACTLY DONE (A�W�) (0)
2016-11-11 14:17.06: DBG [git.sync] size (A�W�)
2016-11-11 14:17.06: ERR [git.sync] PacketLine.input: "0xA\230W\249" is not a valid integer
Fatal error: exception Git_sync.Make(IO)(Store).Error
Raised at file "src/core/lwt.ml", line 916, characters 22-23
Called from file "src/unix/lwt_main.ml", line 34, characters 8-18
Called from file "main.ml", line 102, characters 5-10

The following error disappeared Fatal error: exception (Failure connection has been closed by the server. This is usually due to an invalid client request.") and apparently the real cause is connected to the fact that the input_raw_exn function in git_sync.ml always tried to read 4 bytes but, at that specific step, the ic buffer is actually empty.
For the sake of clarity, the aforementioned error disappeared because I've changed in the IO.read_exactly code to use Lwt_io.read_into in place of Lwt_io.read_into_exactly. A the moment I don't know if I broke something by doing this, but the rest of the code works as expected.
Don't know if this is useful or not, just wanted to share what I found so far.

That's pretty useful, thanks! There is maybe an issue in the way ocaml-git handle short reads.

@samoht has there been any progress on this issue?

Unfortunately not...

Ah well. Spent a few hours in vain debugging this. The other end terminates connection after ocaml-git sends the refs to be updated. Related: https://github.com/mirage/ocaml-git/issues/139

Seems like this is still an issue, is it being worked on ?
2018-07-09 14:27:55 +01:00: ERR [git.mirage] Git_mirage.IO.read_exactly: expecting 4, got 02018-07-09 14:27:55 +01:00: ERR [application] main: (Failure "Git_mirage.IO.read_exactly: expecting 4, got 0")
Raised at file "map.ml", line 122, characters 10-25
Called from file "src/core/lwt.ml", line 817, characters 20-60

The error is different, but it's still trying to read 4 as @vitcozzolino mentionned back in 2016, so I assume it's the same problem.
Does that mean there is no way currently to push with Irmin ?

Are you testing with master?
We are in the process of releasing a new version of ocaml-git and incorporating it in Irmin; with this it would be possible to Git-push using irmin. It took us longer than expected to add proper Git push support, but we had to rewrite a new, non-blocking, version of ocaml-git.
Today you can push using the "slow" irmin protocol (e.g. using an irmin remote).

I'm using what's in opam, which seems to be 1.4.0 for irmin, 1.3.0 for irmin-git and 1.11.5 for git.
Would it make sense to try with the git repo of those, or is it not ready yet ?
You mean starting the irmin binary somewhere, and using that as a repo instead of git would work ? I'm just trying to figure out how irmin works for now, so whatever the "right" way to use it from mirageos is good

Tried with the git versions of these, and I might have misunderstood how it's supposed to be used with the changes but it seems like it just freezes on pull :
let module Context = struct
  include Conduit_mirage
  let context = conduit
  let resolver = res
end in

let module Mem = Irmin_git.Mem(Digestif.SHA1) in
let module GitMem = Irmin_mirage.Git.KV(Context)(Mem) in
let module Store = GitMem(Irmin.Contents.String) in
let module Sync = Irmin.Sync(Store) in
Store.Repo.v config >>= Store.master
>>= fun t  -> C.log console "avant pull"
>>= fun () -> Sync.pull_exn t upstream `Set
>>= fun () -> C.log console "apres pull"
>>= fun () -> Store.get t ["README.md"]
>>= fun r  -> C.log console r

On the output I only get "avant pull", nothing after that. Guess it's not ready yet, I'll wait :)
Thanks

This will be fixed with the upcoming release of ocaml-git 2.0 (which should happen soon).


Change map of agents to map of pointers to agent struct

In pkg/infra/tower/tower.go
This should make the setter functions a lot cleaner.

The Tower Map of agents is a pointer to base agents, so I guess this is referring to the ABM implementation. See branch infra-abm-compression for changes, I think it's addressing this issue? Could be wrong though.
PR coming after a little more cleanup.

Before it was a map of structs, not map of pointers to structs - I'll take a look on Thursday

Maybe Gowoon fixed it in the rework hehe. Good luck tomo 😄


Populate "SOURCE" tag for jdk8u builds

Fixes: #1966
General thoughts are referenced in https://github.com/AdoptOpenJDK/openjdk-build/issues/1966#issuecomment-674939773.
Signed-off-by: Austin Bailey<EMAIL_ADDRESS>

run tests

run tests

run tests

Changes seems to be working as expected.
JAVA_VERSION="1.8.0_272"
OS_NAME="Linux"
OS_VERSION="2.6"
OS_ARCH="amd64"
SOURCE=" .:git:f94631b4e2"

5 failures in the pr-tester pipeline: 2 installer failures, 2 git checkout failures, 1 alpine linux failure.

@austin0 From a Hotspot perspective this seems reasonable. However for OpenJ9 binaries it will only provide the openjdk extensions SHA, and not the additional openj9 and omr SHAs. If you compare with a jdk11 openj9 "release" file:
SOURCE="OpenJDK:838028fc9d OpenJ9:05fa2d361 OMR:d4365f371"

So maybe adding some conditional logic for if VARIANT is OPENJ9, also add the openj9 and omr SHAs, however with the current logic in make/common/MakeBase.gmk that maybe a little tricky, as that only searches the standard jdk8 sub-repos.

run tests

run tests

whitelist

This seems good to go now.
OpenJ9:
JAVA_VERSION="1.8.0_265"
OS_NAME="Linux"
OS_VERSION="2.6"
OS_ARCH="amd64"
SOURCE=" .:OpenJDK: 182efd27:OpenJ9: 88a0575f9:OMR: e9496b7fe:"

Hotspot:
JAVA_VERSION="1.8.0_272"
OS_NAME="Darwin"
OS_VERSION="11.2"
OS_ARCH="x86_64"
SOURCE=" .:OpenJDK: ebf0755d3d:"

@andrew-m-leonard can you review this again?

@austin0 Looks good


DDP + Pipeline parallelism

For fine tuning/training with PP + DDP, is there documentation or modification that can be done to achieve this using torchtitan?
The following check in parallelize_llama.py was the point of error when trying the configuration on my end.
if world_mesh.ndim > 1:                 raise RuntimeError("DDP has not supported > 1D parallelism")
The use case I am imagining is: for a host with multiple GPUs that is responsible for a particular pipeline stage (part of model), as long as there is enough memory DDP might be a viable option.

I wonder what is the motivation to use PP with DDP instead of FSDP?

The motivation is primarily research oriented in comparing the training costs with respect to different configurations.

If memory is enough, then why PP + DDP? If memory is a problem, should using FSDP be the first option before trying PP?
Going back to your question, for DDP + PP, one major blocker I can think of is disabling gradient synchronization. This is implemented in DDP for gradient accumulation. But it requires to wrap for both DDP's forward and backward. How to elegantly integrate the API with the current PP implementation needs some investigation.

I'm going to close the issue. Please reopen if you have further questions.


V560tne v0.9.1 rc4 testing fixes

Review request on a draft?

@philipandag can you rebase?

@mkopec rebased


Prometheus metrics in config

There should be the ability to enable and disable prometheus metrics in the config

Feel free to raise a PR.

I added metrics, enabled DHT(server mode) and bumped the libp2p library version in  this PR


quick-start-kubespray.sh failed

In layout.yaml file, there is a key for gpu type 'model', I wonder how to set it, I have a machine with 1080Ti, when I set model to 1080 or 1080Ti, kube can not find it

fatal: [uniubi-alg057]: FAILED! => {"changed": false, "msg": "The following requirements are not met: NVIDIA GPU card number is not matched: 9 specified but only  found"}
fatal: [uface-gpu-server]: FAILED! => {"changed": false, "msg": "The following requirements are not met: NVIDIA GPU card number is not matched: 7 specified but only  found"}

change line in roles/requirements/nvidia.com_gpu/tasks/main.yml to:

sovled this problem

Thanks for reporting. This may due to the different outputs of nvidia-smi.

Could you please give the result of command nvidia-smi --query-gpu=gpu_name --format=csv and nvidia-smi --query-gpu=gpu_name --format=csv | tail --lines=+2 | wc -l ?

Not really solve the problem, in Dashboard, GPU metrics still show 0 gpu @hzy46 @HaoLiuHust

@hzy46

any progress?

Not really solve the problem, in Dashboard, GPU metrics still show 0 gpu @hzy46 @HaoLiuHust

have you solved problem?

Not really solve the problem, in Dashboard, GPU metrics still show 0 gpu @hzy46 @HaoLiuHust

have you solved problem?

now I still on 1.3, because of here are lots of problems since 1.4

Not really solve the problem, in Dashboard, GPU metrics still show 0 gpu @hzy46 @HaoLiuHust

have you solved problem?

now I still on 1.3, because of there are lots of problems since 1.4

thanks, maybe I should try 1.3... could you give me your emali?

@HaoLiuHust The environmental check works on my machines. Will have a further check.
@lbin For the GPU metrics problem, would you please submit a new issue for it?

Due to the issue, I don't have the 1.5 pai.

@HaoLiuHust  I'm debugging this issue. Would you please help to execute the following steps on your dev box machine?

Save the following content to /tmp/test.yml:

---
- hosts: all
  gather_facts: false
  tasks:

  - name: "check full"
    raw: "nvidia-smi --query-gpu=gpu_name --format=csv | tail --lines=+2 | wc -l"
    register: nvidia_gpu_count
    failed_when: false
    changed_when: false
    check_mode: false
    environment: {}

  - name: debug
    debug:
      var: nvidia_gpu_count.stdout_lines

  - name: debug
    debug:
      var: nvidia_gpu_count

Run ansible-playbook -i ~/pai-deploy/kubespray/inventory/pai/hosts.yml /tmp/test.yml  --limit=<node-name>

Please replace <node-name> with your worker name.

Provide the outputs.

Here's my log:
PLAY [all] **********************************************************************************************************************************************************************

TASK [check full] ***************************************************************************************************************************************************************ok: [node4]

TASK [debug] ********************************************************************************************************************************************************************ok: [node4] => {
    "nvidia_gpu_count.stdout_lines": [
        "4"
    ]
}

TASK [debug] ********************************************************************************************************************************************************************ok: [node4] => {
    "nvidia_gpu_count": {
        "changed": false,
        "failed": false,
        "failed_when_result": false,
        "rc": 0,
        "stderr": "Shared connection to <IP_ADDRESS> closed.\r\n",
        "stderr_lines": [
            "Shared connection to <IP_ADDRESS> closed."
        ],
        "stdout": "4\r\n",
        "stdout_lines": [
            "4"
        ]
    }
}

PLAY RECAP **********************************************************************************************************************************************************************node4                      : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

[DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to allow bad characters in group names by default,
this will change, but still be user configurable on deprecation. This feature will be removed in version 2.10. Deprecation
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details

PLAY [all] *******************************************************************************************************************

TASK [check full] ************************************************************************************************************
ok: [uface-gpu-server]

TASK [debug] *****************************************************************************************************************
ok: [uface-gpu-server] => {
    "nvidia_gpu_count.stdout_lines": [
        "8"
    ]
}

TASK [debug] *****************************************************************************************************************
ok: [uface-gpu-server] => {
    "nvidia_gpu_count": {
        "changed": false,
        "failed": false,
        "failed_when_result": false,
        "rc": 0,
        "stderr": "Shared connection to <IP_ADDRESS> closed.\r\n",
        "stderr_lines": [
            "Shared connection to <IP_ADDRESS> closed."
        ],
        "stdout": "8\r\n",
        "stdout_lines": [
            "8"
        ]
    }
}

PLAY RECAP *******************************************************************************************************************
uface-gpu-server           : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

@HaoLiuHust  Looks like there's OK with nvidia_gpu_count.stdout_lines. So it's strange that it not works during the first time
Could you please try the following ansible playbook using the same command? Just make sure |int and nvidia_gpu_count.stdout_lines[0] works as expected.
---
- hosts: all
  gather_facts: false
  tasks:

  - name: "check full"
    raw: "nvidia-smi --query-gpu=gpu_name --format=csv | tail --lines=+2 | wc -l"
    register: nvidia_gpu_count
    failed_when: false
    changed_when: false
    check_mode: false
    environment: {}

  - name: debug
    debug:
      var: nvidia_gpu_count.stdout_lines

  - name: debug
    debug:
      var: nvidia_gpu_count

  - name: debug
    debug:
      var: nvidia_gpu_count.stdout_lines[0]|int

  - name: set_fact
    set_fact:
      debug_string: "found {{ nvidia_gpu_count.stdout_lines[0] }} gpus"

  - name: debug
    debug:
      var: debug_string

@hzy46
I also met the same error when I run quick-start-kubespray.sh , the version of openpai is v1.5.0, my card is 2080Ti.
TASK [display unmet requirements] *******************************************************************************************************************************
fatal: [gpu-cluster-node001]: FAILED! => {"changed": false, "msg": "The following requirements are not met: NVIDIA GPU card number is not matched: 2 specified but only  found"}
skipping: [gpu-cluster-node002]
fatal: [gpu-cluster-node004]: FAILED! => {"changed": false, "msg": "The following requirements are not met: NVIDIA GPU card number is not matched: 2 specified but only  found"}
skipping: [localhost]

@MengS1024
Save the following content to /tmp/test.yml, and run ansible-playbook -i ~/pai-deploy/kubespray/inventory/pai/hosts.yml /tmp/test.yml --limit=gpu-cluster-node001?
---
- hosts: all
  gather_facts: false
  tasks:

  - name: "check full"
    raw: "nvidia-smi --query-gpu=gpu_name --format=csv | tail --lines=+2 | wc -l"
    register: nvidia_gpu_count
    failed_when: false
    changed_when: false
    check_mode: false
    environment: {}

  - name: debug
    debug:
      var: nvidia_gpu_count.stdout_lines

  - name: debug
    debug:
      var: nvidia_gpu_count

  - name: debug
    debug:
      var: nvidia_gpu_count.stdout_lines[0]|int

  - name: set_fact
    set_fact:
      debug_string: "found {{ nvidia_gpu_count.stdout_lines[0] }} gpus"

  - name: debug
    debug:
      var: debug_string

@HaoLiuHust Looks like there's OK with nvidia_gpu_count.stdout_lines. So it's strange that it didn't work during the first time
Could you please try the following ansible playbook using the same command? Just make sure |int and nvidia_gpu_count.stdout_lines[0] works as expected.
---
- hosts: all
  gather_facts: false
  tasks:

  - name: "check full"
    raw: "nvidia-smi --query-gpu=gpu_name --format=csv | tail --lines=+2 | wc -l"
    register: nvidia_gpu_count
    failed_when: false
    changed_when: false
    check_mode: false
    environment: {}

  - name: debug
    debug:
      var: nvidia_gpu_count.stdout_lines

  - name: debug
    debug:
      var: nvidia_gpu_count

  - name: debug
    debug:
      var: nvidia_gpu_count.stdout_lines[0]|int

  - name: set_fact
    set_fact:
      debug_string: "found {{ nvidia_gpu_count.stdout_lines[0] }} gpus"

  - name: debug
    debug:
      var: debug_string

Sorry, I am a little busy these days, I will try it later

@hzy46
https://github.com/microsoft/pai/issues/5306#issuecomment-790275108
pai@dev-box:~/pai/contrib/kubespray$ ansible-playbook -i ~/pai-deploy/kubespray/inventory/pai/hosts.yml /tmp/test.yml --limit=gpu-cluster-node001
/usr/local/lib/python3.5/dist-packages/ansible/parsing/vault/__init__.py:44: CryptographyDeprecationWarning: Python 3.5 support will be dropped in the next release ofcryptography. Please upgrade your Python.
  from cryptography.exceptions import InvalidSignature
[WARNING]: Unable to parse /home/autox-it/pai-deploy/kubespray/inventory/pai/hosts.yml as an inventory source
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
[WARNING]: Could not match supplied host pattern, ignoring: gpu-cluster-node001

PLAY [all] ******************************************************************************************************************************************************
skipping: no hosts matched

PLAY RECAP ******************************************************************************************************************************************************

@MengS1024
Could you please save the following content to /tmp/test.yml, and run ansible-playbook -i ~/pai-deploy/kubespray/inventory/pai/hosts.yml /tmp/test.yml --limit=gpu-cluster-node001?
---
- hosts: all
  gather_facts: false
  tasks:

  - name: "check full"
    raw: "nvidia-smi --query-gpu=gpu_name --format=csv | tail --lines=+2 | wc -l"
    register: nvidia_gpu_count
    failed_when: false
    changed_when: false
    check_mode: false
    environment: {}

  - name: debug
    debug:
      var: nvidia_gpu_count.stdout_lines

  - name: debug
    debug:
      var: nvidia_gpu_count

  - name: debug
    debug:
      var: nvidia_gpu_count.stdout_lines[0]|int

  - name: set_fact
    set_fact:
      debug_string: "found {{ nvidia_gpu_count.stdout_lines[0] }} gpus"

  - name: debug
    debug:
      var: debug_string

I don`t find ~/pai-deploy/kubespray/inventory/pai/hosts.yml.
pai@dev-box:~/pai/contrib/kubespray$ ls /home/pai/pai-deploy/kubespray/inventory/pai/
group_vars  inventory.ini

@MengS1024 It should be on the dev box machine. Generated by pai deployment script.

@MengS1024 It should be on the dev box machine. Generated by pai deployment script.

Yes, it`s on the dev box.

@hzy46 any update?

@MengS1024 can you use ~/pai-deploy/cluster-cfg/hosts.yml instead of /home/pai/pai-deploy/kubespray/inventory/pai/hosts.yml?
Or you can create one inventory file on your own.

@MengS1024 can you use ~/pai-deploy/cluster-cfg/hosts.yml instead of /home/pai/pai-deploy/kubespray/inventory/pai/hosts.yml?
Or you can create one inventory file on your own.

/usr/local/lib/python3.5/dist-packages/ansible/parsing/vault/__init__.py:44: CryptographyDeprecationWarning: Python 3.5 support will be dropped in the next release ofcryptography. Please upgrade your Python.
  from cryptography.exceptions import InvalidSignature
[DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to allow bad characters in group names by default, this will change, but still be user
configurable on deprecation. This feature will be removed in version 2.10. Deprecation warnings can be disabled by setting deprecation_warnings=False in
ansible.cfg.
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details

PLAY [all] ******************************************************************************************************************************************************

TASK [check full] ***********************************************************************************************************************************************
ok: [gpu-cluster-node001]

TASK [debug] ****************************************************************************************************************************************************
ok: [gpu-cluster-node001] => {
    "nvidia_gpu_count.stdout_lines": [
        "2"
    ]
}

TASK [debug] ****************************************************************************************************************************************************
ok: [gpu-cluster-node001] => {
    "nvidia_gpu_count": {
        "changed": false,
        "failed": false,
        "failed_when_result": false,
        "rc": 0,
        "stderr": "Shared connection to <IP_ADDRESS> closed.\r\n",
        "stderr_lines": [
            "Shared connection to <IP_ADDRESS> closed."
        ],
        "stdout": "2\r\n",
        "stdout_lines": [
            "2"
        ]
    }
}

TASK [debug] ****************************************************************************************************************************************************
ok: [gpu-cluster-node001] => {
    "nvidia_gpu_count.stdout_lines[0]|int": "2"
}

TASK [set_fact] *************************************************************************************************************************************************
ok: [gpu-cluster-node001]

TASK [debug] ****************************************************************************************************************************************************
ok: [gpu-cluster-node001] => {
    "debug_string": "found 2 gpus"
}

PLAY RECAP ******************************************************************************************************************************************************
gpu-cluster-node001        : ok=6    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

@MengS1024 The script works as expected. Can you run `bash requirement.sh -c  -l <path-to-layout.yaml> -c <path-to-config.yaml>? I think it should work.

@hzy46 I have already run this command ./requirement.sh -l config/layout.yaml -c config/config.yaml but I got the same error.
TASK [display unmet requirements] *******************************************************************************************************************************
fatal: [gpu-cluster-node004]: FAILED! => {"changed": false, "msg": "The following requirements are not met: NVIDIA GPU card number is not matched: 2 specified but only  found"}
fatal: [gpu-cluster-node001]: FAILED! => {"changed": false, "msg": "The following requirements are not met: NVIDIA GPU card number is not matched: 2 specified but only  found"}

@hzy46
Is it right here?

@hzy46
Is it right here?

it is ok

It's a really strange problem. You can see the source code: https://github.com/microsoft/pai/blob/master/contrib/kubespray/roles/requirement/computing-devices/nvidia.com_gpu/tasks/main.yml#L36-L57  The code is the same but gives different results.
Could you:

modify requirement.sh: add -vvv after ansible-playbook
run ./requirement.sh -l config/layout.yaml -c config/config.yaml
provide the full log here

@hzy46
Here is the log.
requirement.log

Thanks @MengS1024
[gpu-cluster-node004] => {
    "changed": false,
    "failed_when_result": false,
    "rc": 0,
    "stderr": "Shared connection to <IP_ADDRESS> closed.\r\n",
    "stderr_lines": [
        "Shared connection to <IP_ADDRESS> closed."
    ],
    "stdout": "\r\n2\r\n",
    "stdout_lines": [
        "",
        "2"
    ]

The stdout_lines becomes ["", "2"] when the script is run. I don't know the root reason.
I will submit a PR to fix this issue.

Thanks, please let me know when it`s fixed.

@MengS1024
Please see #5353.
You can try it by switching to branch zhiyuhe/fix_nvidia_gpu_count

@hzy46
Thanks, but I met a new problem.
TASK [etcd : Configure | Check if etcd cluster is healthy] ******************************************************************************************************
fatal: [gpu-cluster-node002]: FAILED! => {"changed": false, "cmd": "/usr/local/bin/etcdctl --endpoints=https://<IP_ADDRESS>:2379 cluster-health | grep -q 'cluster is healthy'", "delta": "0:00:00.008623", "end": "2021-03-05 23:22:36.548779", "msg": "non-zero return code", "rc": 1, "start": "2021-03-05 23:22:36.540156", "stderr": "Error:  client: etcd cluster is unavailable or misconfigured; error #0: dial tcp <IP_ADDRESS>:2379: connect: connection refused\n\nerror #0: dial tcp <IP_ADDRESS>:2379: connect: connection refused", "stderr_lines": ["Error:  client: etcd cluster is unavailable or misconfigured; error #0: dial tcp <IP_ADDRESS>:2379: connect: connection refused", "", "error #0: dial tcp <IP_ADDRESS>:2379: connect: connection refused"], "stdout": "", "stdout_lines": []}
...ignoring
included: /home/autox-it/pai-deploy/kubespray/roles/etcd/tasks/refresh_config.yml for gpu-cluster-node002
FAILED - RETRYING: Configure | Check if etcd cluster is healthy (4 retries left).
FAILED - RETRYING: Configure | Check if etcd cluster is healthy (3 retries left).
FAILED - RETRYING: Configure | Check if etcd cluster is healthy (2 retries left).
FAILED - RETRYING: Configure | Check if etcd cluster is healthy (1 retries left).

pai@gpu-cluster-node002:~$ sudo docker ps -a
CONTAINER ID        IMAGE                         COMMAND                 CREATED             STATUS              PORTS               NAMES
9a79e7f6df59        quay.io/coreos/etcd:v3.3.10   "/usr/local/bin/etcd"   6 seconds ago       Created                                 etcd1

@MengS1024 You can check whether the master port 2379 is block or not. Or check the log of the etcd container.

@MengS1024 You can check whether the master port 2379 is blocked or not. Or check the log of the etcd container.

I don`t see the port 2379 is listening on the master node. Where is the log of etcd?

it's a docker container. if it is  started, use docker log to see its log.

The status is created, it is not running.

The status is created, it is not running.

Please find out why it is not running. One possible reason could be the network issue: you cannot download the image.

The status is created, it is not running.

Please find out why it is not running. One possible reason could be the network issue: you cannot download the image.

pai@gpu-cluster-node002:~$ sudo docker images | grep etcd
quay.io/coreos/etcd                                v3.3.10                           643c21638c1c        2 years ago         39.5MB
pai@gpu-cluster-node002:~$ sudo docker ps -a
CONTAINER ID        IMAGE                         COMMAND                 CREATED             STATUS              PORTS               NAMES
2ba82adf4330        quay.io/coreos/etcd:v3.3.10   "/usr/local/bin/etcd"   3 seconds ago       Created                                 etcd1

@MengS1024
I'm not sure about the root cause. Could you refer to kubespray for more help: https://github.com/kubernetes-sigs/kubespray/search?q=Check+if+etcd+cluster+is+healthy&type=issues  It should be an issue with kubespray.


[FEATURE] Add OpenSearch Serverless Tests

Is your feature request related to a problem?
Add tests for OpenSearch Serverless.
Support for this was added in https://github.com/opensearch-project/sql-odbc/issues/70.
What solution would you like?
https://github.com/opensearch-project/sql-cli/pull/29/files added support for Serverless and also implemented automated testing for that feature. We should try to follow a similar approach. It should be possible to run these tests locally as well as via GitHub pipeline.
What alternatives have you considered?
None. Best practice to test all functionality.
Do you have any additional context?
None.

[Catch All Triage - 1, 2, 3, 4]


configuration file is not copied after publish command

I did a fresh installation of laravel 5.3. After running "php artisan vendor:publish", I couldn't find parse.php in config folder. Is there anything I should do before running the publish command?

Likey you previously cached your config and forgot to flush the cache so the service provider never got loaded.


feature request: createRequire detect

Feature request

What is the expected behavior?
For code like below:
import { createRequire as _createRequire } from 'module'
const __require = _createRequire(import.meta.url)

__require should be detected as an alias of CommonJS require and the imported module of __require should be the type of javascript/auto instead of javascript/esm.
What is motivation or use case for adding/changing the behavior?
This allows webpack to bundle this format of ESModule projects.
And TypeScript is going to add Node-12 module emit which will generate code like above.
How should this be implemented in your opinion?
Detect import of module module and track the pattern of const $requireAlias = $importedCreateRequire(import.meta.url).
Are you willing to work on this yourself?
yes but I'm not familiar with webpack internal.

PR welcome

Hi, @alexander-akait I have created a PR at #14241, but I'm not familiar with webpack internals and want some helps.
I tested with the following code:

index.mjs

import { createRequire as _createRequire } from "module";
const __require = _createRequire(import.meta.url);
const mod = __require("./cjs.cjs");
console.log(mod.a);

cjs.cjs

module.exports.a = 1;

With the current process in #14241, I'd be able to add cjs.cjs into the compilation. But I encountered the following problems:

I don't know how to edit AST so I can remove import { createRequire as _createRequire } from "module"; const __require = _createRequire(import.meta.url); these two lines of code.
I don't know how to replace __require to __webpack_require_.

The current emit is:
"use strict";
// ./index.mjs
__webpack_require__.r(__webpack_exports__);
Object(function webpackMissingModule() { var e = new Error("Cannot find module 'module'"); e.code = 'MODULE_NOT_FOUND'; throw e; }());

const __require = Object(function webpackMissingModule() { var e = new Error("Cannot find module 'module'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())("MY_LOCAL_FILE_PATH");
const mod = __require(/*! ./cjs.cjs */ "./cjs.cjs");
console.log(mod.a);

And I think the correct way to do this is to remap the aliased name (__require in the case above) of require I detected to the CommonJsImportsParserPlugin.js so require.resolve and other functions work too. But I don't have any idea how to do that.

Bad idea to use cjs.cjs, there are another module with the same name

Also you can use import { createRequire } from 'module'

Also you can use import { createRequire } from 'module'

Actually, I'm using the code generated by the new emit target of TypeScript (module=node12). I need to make sure I have tracked the aliased name of imported createRequire instead of trying to match any specified name. Otherwise, it will not work with generated code.
And the test code I wrote (index.mjs and cjs.cjs) doesn't important, I just want to do the code transform as code written in #14241

We should not supported only edge cases, we should support all possible cases

bump

Cool!


Build a Simple Approval UI for Your Workflow with Workflow Forms (Neo)

Tutorial URL: https://developers.sap.com/tutorials/cp-workflow-build-approval-ui.html
Hi,
in the Approval Process. How can we use the decision made be the user task (Approved or not) be used in the further workflow, like in a gateway. Can i somehow access in the gateway, which button has been clicked in the user task before?
Br

Hello DJ,
You can access the decision using the following documentation:
https://help.sap.com/viewer/e157c391253b4ecd93647bf232d18a83/Cloud/en-US/9fd9395339e94143ac9ce9e693b06bd1.html?q=decision
${usertasks.usertask1.last.decision} where usertask1 is the user task ID of your user task. You can access this in gateways like ${usertasks.usertask1.last.decision == 'true' }

Thanks @ArchanaShukla. @bprolikeme this issues list is for issues with the tutorial content - for questions like this you'd be better heading over to the SAP Community Q&A where others will see your question and also benefit from the answers and discussion. Thanks!


It does not have a good contribution guide for beginner contributer's

Please work on this issue , try adding a a contribution guide on it which will make the new contibuters easy to contibute.

@VanshKing30 you mean .md file? Please assign me this issue under GSSOC 24.

Yeah The .md file , I am assigning you this Issue.

@Vanshika-73 Have you completed the task ??

I will. GSSOC contributions will start from today 7pm sharp. So will raise
a pr after that.
On Fri, 10 May, 2024, 3:18 pm Vansh Waldeo, @.***>
wrote:

@Vanshika-73 https://github.com/Vanshika-73 Have you completed the task
??
—
Reply to this email directly, view it on GitHub
https://github.com/VanshKing30/FoodiesWeb/issues/4#issuecomment-2104302543,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWMNRYW72QJQIFY63E3COLTZBSJWHAVCNFSM6AAAAABHJFV3XSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBUGMYDENJUGM
.
You are receiving this because you were mentioned.Message ID:
@.***>


Fixes #2091 Null Reference exception getting completions

Fixes #2091 Null Reference exception getting completions
Coerces a potential null to an empty list.

👍


Enable git to use SChannel during configure with 2.136.1 is not working as expected (.gitconfig file issue)

Agent Version and Platform
Version of your agent - 2.136.1
Platform - Windows
OS of the machine running the agent - Windows
Version - On-Prem TFS 2017.3.1
What's not working?
Enable git to use SChannel during configuration with agent (ver. 2.136.1) is not working as expected.
command used: ./config.cmd --gituseschannel
Issue found at:  .gitconfig file (default)
[core]
symlinks = false
autocrlf = true
[color]
diff = auto
status = auto
branch = auto
interactive = true
[pack]
packSizeLimit = 2g
[help]
format = html
[http]
sslCAinfo = /ssl/certs/ca-bundle.crt
[diff "astextplain"]
textconv = astextplain
[rebase]
autosquash = true
http configuration is not replaced during configuration, instead it is using the default configuration
what is expected: .gitconfig file (fixed)
[core]
symlinks = false
autocrlf = true
[color]
diff = auto
status = auto
branch = auto
interactive = true
[pack]
packSizeLimit = 2g
[help]
format = html
[http]
sslBackend = schannel
[diff "astextplain"]
textconv = astextplain
[rebase]
autosquash = true
Is the above configuration expected or even without http configuration? (either of them are working fine using schannel)
Agent and Worker's Diagnostic Logs
Log using default .gitconfig file:
2018-08-01T04:59:29.4266295Z ##[section]Starting: Get Sources
2018-08-01T04:59:29.4625047Z Syncing repository: MyRepo (TfsGit)
2018-08-01T04:59:29.4684046Z Prepending Path environment variable with directory containing 'git.exe'.
2018-08-01T04:59:29.4760164Z ##[command]git version
2018-08-01T04:59:29.6078457Z git version 2.17.1.windows.2
2018-08-01T04:59:29.6257666Z ##[command]git config --get remote.origin.url
2018-08-01T04:59:29.7111495Z ##[command]git clean -fdx
2018-08-01T04:59:29.8025458Z ##[command]git reset --hard HEAD
2018-08-01T04:59:29.8927930Z HEAD is now at 4efc639 adding new web project
2018-08-01T04:59:29.9014287Z ##[command]git submodule foreach git clean -fdx
2018-08-01T04:59:31.4953744Z ##[command]git submodule foreach git reset --hard HEAD
2018-08-01T04:59:32.9191695Z ##[command]git config gc.auto 0
2018-08-01T04:59:32.9952847Z ##[command]git config --get-all http.https://tfs-qa.it.net:8443/tfs/Test/TIN2961-Manoj/_git/MyRepo.extraheader
2018-08-01T04:59:33.0676394Z ##[command]git config --get-all http.proxy
2018-08-01T04:59:33.1487026Z ##[command]git -c http.extraheader="AUTHORIZATION: bearer ***" -c http.sslbackend="schannel" fetch --tags --prune --progress --no-recurse-submodules origin
2018-08-01T04:59:33.3385500Z fatal: unable to access 'https://tfs-qa.it.net:8443/tfs/Test/TIN2961-Manoj/_git/MyRepo/': schannel: CertGetCertificateChain trust error CERT_TRUST_IS_UNTRUSTED_ROOT
2018-08-01T04:59:33.3615430Z ##[error]Git fetch failed with exit code: 128
2018-08-01T04:59:33.3649159Z ##[section]Finishing: Get Sources
log using fixed .gitconfig file:
2018-08-01T04:54:31.4530246Z ##[section]Starting: Get Sources
2018-08-01T04:54:31.4897080Z Syncing repository: MyRepo (TfsGit)
2018-08-01T04:54:31.4953607Z Prepending Path environment variable with directory containing 'git.exe'.
2018-08-01T04:54:31.5029929Z ##[command]git version
2018-08-01T04:54:31.6211759Z git version 2.17.1.windows.2
2018-08-01T04:54:31.6390320Z ##[command]git config --get remote.origin.url
2018-08-01T04:54:31.7221618Z ##[command]git clean -fdx
2018-08-01T04:54:31.8090516Z ##[command]git reset --hard HEAD
2018-08-01T04:54:31.8951032Z HEAD is now at 4efc639 adding new web project
2018-08-01T04:54:31.9031250Z ##[command]git submodule foreach git clean -fdx
2018-08-01T04:54:33.3653908Z ##[command]git submodule foreach git reset --hard HEAD
2018-08-01T04:54:34.8213231Z ##[command]git config gc.auto 0
2018-08-01T04:54:34.9029561Z ##[command]git config --get-all http.https://tfs-qa.it.net:8443/tfs/Test/TIN2961-Manoj/_git/MyRepo.extraheader
2018-08-01T04:54:34.9761618Z ##[command]git config --get-all http.proxy
2018-08-01T04:54:35.0537530Z ##[command]git -c http.extraheader="AUTHORIZATION: bearer ***" -c http.sslbackend="schannel" fetch --tags --prune --progress --no-recurse-submodules origin
2018-08-01T04:54:35.6265371Z ##[command]git checkout --progress --force 4efc639de308fe69bb51e41949d8ce70b9387768
2018-08-01T04:54:35.7545991Z HEAD is now at 4efc639 adding new web project
2018-08-01T04:54:35.7710305Z ##[command]git submodule sync --recursive
2018-08-01T04:54:37.1715580Z ##[command]git -c http.https://tfs-qa.it.net:8443.extraheader="AUTHORIZATION: bearer ***" -c http.sslbackend="schannel" submodule update --init --force --recursive
2018-08-01T04:54:38.6138714Z ##[section]Finishing: Get Sources
So team, let me know if this is to be handled manually when ever the agent is configured or can we expect some fix?

https://github.com/git-for-windows/git/issues/1698

looks like an issue with git for windows, i am trying to test a workaround while waiting for a fix from git.

@ManojCN thanks for finding this great information, i need to package 2.18 git into the agent in order to get this fix, however the process of getting legal approval for packaging git 2.18 is still running, i am waiting on that.

@TingluoHuang thanks for the quick response and identifying the fix.
Looking forward for the update further.

Is there any progress on this issue? I just ran into this issue with version 2.139.1 of the agent. Rolled back to the previous version I was using (2.134.2) and the issue went away. I can see 2.139.1 is still using 2.17.1.windows.2.

the git version updates is in the next agent version release that i am working on right now.

@TingluoHuang, awesome to hear. I will keep a look out for the next version.

Is this still broken in 2.140.2?

Is the GitUsesSChannel flag live now?
I'm getting the following when trying to use it in 2.141.1

@philip-reed you might have a typo. schannel not sshannel :)

@TingluoHuang Thanks.  Just spotted a minute after I posted the question.  My apologies.

cool, i am going to close this issue as the 2.141.1 (contain newer version git that has the fix) agent has released to the service. please let me know if something else is needed.


⚠ Bofrost.nl has degraded performance

In 3a06fb3, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 4499 ms

Resolved: Bofrost.nl performance has improved in 223edff after 6 minutes.


Annotations not showing up in chart context

I'm adding annotations using ApexCharts.exec(chartId, 'addXaxisAnnotation', params) in the chart.events.click function.
I also check if there is an existing annotations using context.config.annotations.xaxis
However, the annotations I'm adding are not showing up here.
How can we access the current annotations from the click event?

@junedchhipa Any idea why this would happen/how to access current annotations from the click event?

I believe this issue was introduced in v3.11 as rolling back to v3.10 works as expected. Issue remains in v3.15.
I wonder if this is a z-index / layer order issue as the context on click appears to be the chart canvas proper (classList shows apexcharts-canvas and inspect element can't select the pin, but rather the chart canvas). I have tried adding position: 'front' to the annotations config, but to no effect. I am running with a custom SVG annotation, but as noted that worked in v3.10 without issue though this fact may be a contributing issue.

Without a codepen, I am unable to visualize easily what is the exact issue.
Please create a codepen demo so I can reproduce on my side.

Bah. That'll take too long. PR incoming. What I need to know before I commit this fix is if the x and y axis annotations are also meant to be clickable (currently disabled as well if so). I don't use them so some input is required and also greatly appreciated! Thanks in advance.

I looked through the docs a little and couldn't find anything directly related to clicking (or any mouse event) on the x and y annotations, but I couldn't find anything that suggested it should be prevented either. I've returned mouse events to all three.


[PowerShellV2] Allow to use alternative execution operator

Task name: PowerShellV2
Description: Added optional parameter that allows PowerShell task to execute the script using call operator (&) instead of default dot sourcing operator. This was added to address the issue from feedback ticket
Documentation changes required: (Y/N) Y
Added unit tests: (Y/N) Y
Attached related issue: (Y/N) feedback ticket
Checklist:

[X] Task version was bumped - please check instruction how to do it
[x] Checked that applied changes work as expected - Pipeline ref

Do we have e2e tests for this case?

Do we have e2e tests for this case?

For new input there no e2e, but I've created a ticket to add them.

LGTM, thanks! Let's merge it once we have e2e tests for new input and plan this for the near time.


Fixing native aws

handling policy details from fabric when enabling remote policy
local policy is the default
added option to stitch info from any two providers
added policy config to override things like device_name ....
please see design doc under docs directory
please see the new fabfed credential template. Everything is lowercase now

@xi-yang @disprosium8 @zlion

handling policy details from fabric when enabling remote policy
local policy is the default
added option to stitch info from any two providers
added policy config to override things like device_name ....
please see design doc under docs directory
please see the new fabfed credential template. Everything is lowercase now

@xi-yang @zlion @disprosium8
You may need to use the latest config files .... as some port names has changed in the policy ...
Please use the option to view the stitch configs and -init -summary to view the selected option before applying ...


README: add more info

What problem does this PR solve?
add more info
What is changed and how it works?
add more info
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Side effects

Possible performance regression
Increased code complexity
Breaking backward compatibility

Related changes

Need to cherry-pick to the release branch
Need to update the documentation
Need to update the tidb-ansible repository
Need to be included in the release note

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@lilin90 PTAL

@lilin90 PTAL

LGTM

LGTM


Add new categories to data generator

Closes #821
Some new placeholders are required to merge this one.

Current coverage is 58.82% (diff: 100%)

Merging #822 into master will decrease coverage by 0.01%

@@             master       #822   diff @@
==========================================
  Files           111        111
  Lines          5861       5861
  Methods           0          0
  Messages          0          0
  Branches        718        718
==========================================
- Hits           3449       3448     -1
  Misses         2273       2273
- Partials        139        140     +1

Powered by Codecov. Last update 2956dfc...d319a98


Fix default value display

what was wrong ?

the partly yellow | in the display

3rd commit is word wrap for long risky descriptions

Sadly we have the same yellow | issue for subset listings as well (didn't spotted it the first time around)
     | Configuration options:
     | - functions (a subset of ['array_key_exists', 'empty', 'file_exists',

I let it out of scope for now

So now the output in the console looks a lot better IMHO, but the README markdown is a bit less good than it was.... we should really decouple those ...

not sure about the flags here.
easy pick - you want someone else to take over this PR?
help wanted - sth in particular, eg some failing test?

help wanted

with patching up this PR so the README looks good as well

easy pick

cause it shouldn't be hard (I just don't have the time to fix it myself ATM)

So now the output in the console looks a lot better IMHO, but the README markdown is a bit less good than it was.... we should really decouple those ...

I'm planning to reduce README file drastically in #3475 and its content will not be tied to help of fix command anymore. Maybe you want me to put my PR in the top of my priority list?

3475 looks very promising to me, I wished I've spend more time on reviewing it!
After the next round of releases, lets join up, you and me and others who want to (I can image some people working on doc generation as well), and get this thing done! been on my wish list for a long time so I'm in if you are ;)

TODO: restore line break before and after    | Configuration options:\n in the ReadmeCommand and this thing should be done

I think this looks good now

Support for branch 2.2 has ended, please rebase on 2.12.

Amount of needed changes, which not all look so good, are to much for just the yellow | issue.
I might puzzle something smaller together in the near future.


aruco: simplify Dictionary by not interleaving the marker rotations

store marker internally as

r0_b0, r0_b1, .. , r0_bn, r1_b0, .. instead of
r0_b0, r1_b0, .. , rn_b0, r1_b0, ..

i.e. the same as in predefined_dictionaries.cpp.
This makes loading a dictionary a simple memcpy and also allows to get
rid of the custom hammingDistance implementation in favor of
hal::normHamming.

Nice :+1:

:+1:


Gecko SDK 4.4.0 build fixes

#42 was accidentally left as a non-draft and was incomplete.

I've confirmed all the SkyConnect firmwares are valid and can re-enter the bootloader from the flasher.


feat(Icon): disabled prop disables onClick

Added behaviour of not running onClick function when Icon is disabled.
Very similar with what is already available in the Button component.
Fixes #3341.

Codecov Report

Merging #3358 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #3358      +/-   ##
==========================================
+ Coverage   99.89%   99.89%   +<.01%
==========================================
  Files         170      170
  Lines        2807     2812       +5
==========================================
+ Hits         2804     2809       +5
  Misses          3        3

Impacted Files
Coverage Δ

src/elements/Icon/Icon.js
100% <100%> (ø)
:arrow_up:

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 23ff649...df7360f. Read the comment docs.

Awesome. Thanks, @shuminyang !

Released in<EMAIL_ADDRESS>


fixing CSVLogger

What does this PR do?
seem that the CSVLogger is missing all recorded from training...
Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

how'd you find this?

how'd you find this?

not fixed anything yet, just draft so I do not miss it... 🐰

ok, leaving this as adding the import only and try to fix in another try...

It's closing #7899 right? Added to PR description

It's closing #7899 right? Added to PR description

no, I did not have time to search the issue so leaving it open and describe in the new issue, see https://github.com/PyTorchLightning/pytorch-lightning/pull/6854#issuecomment-857617226


how to execute jobs when start?

Now cron job execute when next ticker coming. For example, I set @every 5 min，but when I start my program, it must wait for 5 min to execute, I want execute when start.

There is no way to do that with the schedule. I think the best workaround is to execute your job immediately, e.g.
cron.AddJob("@every 5m", myJob)
go myJob()

Several cron implementations support @reboot for this. "reboot" seems a little weird in the context of a go program instead of system cron, so maybe an alias like "@startup" or "@once" would be good.

The Add* methods return an opaque ID as per the docs, it might be handy to have a companion to Remove() that allows you to manually run a job if it's not already running. This seems like it could have a clean interaction with the scheduler, rather than needing to have a singleflight in myJob()

just run the func once

#436


GraalVM Native Image Compilation for Test Command

Description
Have native-image generate a module wise executable for test suites when --native command is provided
Meeting Notes : https://docs.google.com/document/d/1d7jtQ39txIpUQ-y9aKVcboMtYAV5OFpBOgrOjExQ47c/edit#
Describe your problem(s)
No response
Describe your solution(s)
No response
Labels
DevTools
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Native function mocking support is added with https://github.com/ballerina-platform/ballerina-lang/pull/38890. Currently, Native function mocking supports following functionalities.

call() calling another function.
callOriginal() calling same function.
withArguments() mock with specific arguments.
thenReturn() returns a single value.
Mock some function from other modules(Eg: os:getEnv()).


Cleanup first level of src

We are preparing a build of the project to be able to include it in another project.
Please could you have only at first level of src:

data
components
demo (renamed from dashboard)
index.js

All the other files can be moved to demo folder.

done


kratix create random password promise

Following the thread here
An idea is to have a promise for kratix that can create a random password, encrypt it with Sops using the key configured in the gitops repo for that location and commit this back to git in encrypted form.
This ticket is to track that
Prerequisites

Gitops repo is already configured and bootstrapped

Whilst this is still a feature that I think is required, for the Elasticache cluster I decided to go with an ESO password generator to external secret as can be seen in the file password-gen.k

nice to have feature


Typo in error message

https://github.com/tektoncd/pipeline/blob/1f5980f8c8a05b106687cfa3e5b3193c213cb66e/pkg/reconciler/taskrun/resources/taskresourceresolution.go#L81-L94
I ran into this error message:

Neither ResourseRef nor ResourceSpec is defined

It should be "ResourceRef"

Hi there, I am interested in fixing this bug, could you assign to me: )

@codeleongy if you comment /assign it should assign it to you automatically 😉
/assign @codeleongy

/assign

/unassign

/assign

/unassign

/assign

/assign

/lifecycle frozen "it should be fixed for quality reasons"

/lifecycle frozen

Looks like this was fixed in https://github.com/tektoncd/pipeline/pull/6184 which was first release in v0.46.0
/close

+1 @AlanGreene, this was fixed with https://github.com/tektoncd/pipeline/pull/6184
/close

/close


pane splits are sometimes not 50/50

Version and Platform (required):

Binary Ninja Version: 2.5.3200-dev

Bug Description:
When using the split pane functionality, sometimes the splits are not 50/50 the way they're supposed to be:

Steps To Reproduce:
Please provide all steps required to reproduce the behavior:

Switch to graph view
Use split hotkey or icon

Expected Behavior:
Split should be 50/50
Additional Information:
Unfortunately we've spent a fair amount of time looking into it and as far as we can tell it's a QT bug so we're going to avoid wasting any more time and hope that after a few stables we get lucky and they fix it upstream.

This still repros on 3.4.4271, which is on Qt 6.4.3 I believe. Guess we haven't gotten lucky yet?


BVTCK-62 Investigate how signature files could be created as part of the build

https://hibernate.atlassian.net/browse/BVTCK-62

Updated documentation related to running signature test. Only Maven related part is left. Also replaced tabs in xml formatting to spaces (tabs were putting too much blank space :) )

Cool, thanks a lot, @marko-bekhta!


files are copied to the public folder but not to the build one

I didn't notice this before because I did run the build a couple of times before so the files were already in the public folder, but I just realized that if I remove them from public and I run vite build the files end up being copied to public but not in the final build folder.
Are you aware of any reason of why this could happen?

Oh of course it was my fault, I was specifying the copy target to be the public folder rather than directly the build one


Only one default export is allowed per module

Remove "export default" from the class declaration of SearchBar


[FR] Reducers::tvl_by_contract_address

Here is an example of TVL for a contract jpg.store:
https://cardanoscan.io/address/addr1w999n67e86jn6xal07pzxtrmqynspgx0fwmcmpua4wc6yzsxpljz3

It would be nice to have a reducer where we can get the data about TVL (total value locked) across all epochs.
addr1w999n67e86jn6xal07pzxtrmqynspgx0fwmcmpua4wc6yzsxpljz3 -> 445562 * 1000000 (lovelaces value)

done


RelatedArtistsModule

Do we ever only show a max of 4 artists on iPhone and 6 on iPad?
If not, is there a limit? And how are these shown?

From what I can tell it looks like the max set to 16—let's keep it at 16 for now.

Ok.

@alloy eyeing this component: https://github.com/lucholaf/react-native-grid-view after reading this discussion: https://github.com/facebook/react-native/issues/638

Sounds good. Skim through the code of the lib to see if it's not massively complex and it all makes sense to you, then go for it!

@sarahscott I think that you can do these grids with just flexbox btw, no grid view needed.
The reason for a more fancy grid view is to optimise when you have large, potentially infinite lists. Like ListView it removes cells from the hierarchy when they’re offscreen and recycles view objects. But in our case it’s just 16.

This is done v1 of Emission.


Add get_auth_token

Implements getting an auth_token as described here. (The sample code is out of date so was not literally copied).

And should we not add a Gradle dependency to be explicit about the use of firebase-installations?
https://firebase.google.com/docs/projects/manage-installations#android

Will do, but given that it's necessary to copy the libs manually I'm curious as to what it actually does (and how to test it)? I was also puzzled by the reference to com.google.firebase:firebase-analytics:18.0.3

Also, I now wonder if I should identifiers containing installation_auth_token instead of auth_token as there are other types of auth token in the Firebase system (e.g. authentication auth tokens)

Also, I now wonder if I should use identifiers containing installation_auth_token instead of auth_token as there are other types of auth token in the Firebase system (e.g. authentication auth tokens)

Good point! Yes, I think you should as it makes it clearer what kind of token it is!

Will do, but given that it's necessary to copy the libs manually I'm curious as to what it actually does (and how to test it)? I was also puzzled by the reference to com.google.firebase:firebase-analytics:18.0.3

It's two different things. There's the cpp part of the lib which takes care of calling the native Java code on Android. But you also need the Maven dependency which may contain Java code and Android resources.
Each release of the cpp SDK needs the correct gradle dependencies, as can be seen here:
https://raw.githubusercontent.com/firebase/firebase-cpp-sdk/v7.3.0/release_build_files/readme.md
Firebase Installations     | libfirebase_installations.a
                           | libfirebase_app.a
                           | com.google.firebase:firebase-installations:16.3.5
                           | (Maven package)


difference between just classification and pretraining+fine-tuning

Hello, I wanted to work on the pretraining+fine-tuning part and had some questions along the way:

It had a warning and an error like these:

I did not have any kinds of error on the baseline datasets used for the pretraining. Is there anyway I could try to fix this?
When i perform just classification and pretraining+fine-tuning, it seems like the dataset input sizes get different. For instance, if I were to perform just classification on the SpokenArabicDigits, the shape looks like this:

The two pictures are showing different sample sizes being inserted when doing different tasks. What is the logic behind this difference? It would be greatly appreciated if you could answer these questions. Thank you

您好！我是一名计算机专业的学生，想要学习这份代码但是关于作者发布的关于分类的数据集已经无法打开，如果您方便的话可以加我的联系方式打包一份给我吗？非常感谢


[azservicebus] reset connection on network failures

There are some errors coming from go-amqp that indicate internal or fatal errors with the connection. At the moment go-amqp does not recover from these so our only course of action is to treat them as "connection recovery" events and close and recreate the connection.
We're (jhendrix-msft and I) are still planning on a better error handling strategy, but this mitigation will be correct even after that change and will handle things until then.


Confirming stack schedules?

Hey all,
I'm currently attempting to implement stack schedules as a means of limiting the hours a user can charge their EV over the course of a week, with a daily recurring schedule. I can send a SetChargingProfile, and receive a response 'Accepted' from the charger, but I'm unable to confirm that the schedule was applied. I also do not see the expected scheduled rate being applied when viewing the allowed charging amount during a charge cycle. The connector_id is set to 0, as the device is intended for residential use.
setChargingProfileGlobal = {
   "id":"1121031007",
   "msg_type":"SetChargingProfile",
   "connector_id":0,
   "chargingProfile":{
         "chargingProfileId":1,
         "stackLevel":1,
         "chargingProfilePurpose":"TxDefaultProfile",
         "chargingProfileKind":"Recurring",
         "recurrencyKind": "Daily",
         "chargingSchedule":{
            "startSchedule": "2023-05-15T17:00:00",
            "duration": 86400,
            "chargingRateUnit":"A",
            "chargingSchedulePeriod":[
               {
                  "startPeriod":0,
                  "limit":0.0
               }
            ]
         }
      }
    }

This returns the response 'Accepted'. However, upon sending the following:
getCompositeSchedule = {
   "id": "1121031007",
   "msg_type":"GetCompositeSchedule",
   "connector_id":0,
   "duration":86400
}

The only response I receive is a 30-second timeout. What am I missing?

Did you turn on logging to see what was actually sent to the charger? Please edit your question to include the log.
Could be either an error in the ocpp lib or your charger doesn't implement the message type

So OCPP 1.6 the expected behaviour is to have a GetCompositeSchedule.conf, with at minimum Accepted or Rejected. As @larrykluger stated it may not be implemented, otherwise, another less likely possibility is that the Charge Point takes too long to calculate the schedule and the timeout occurs. Could you please attach the logs from the Charge Point to see if the message arrives and if it is processed?

This issue may no longer be active, so closing for now


Domainless External IDs

aeon:has_WDQID aeon:has_GND aeon:has_DOI  have no domain.
How do I know, from the ontology in which classes to use them?
By contrast aeon:has_ISNI aeon:has_ORCHID aeon:has_ROR has domain.

@andrecastro0o my idea to not assign a domain is grounded in the fact that e.g. an organization or person can have a WDQID as well as an event or event series. But I guess it seems better to define a union class of all those entities that can have either one of these external IDs.
@mconlon17 what do you think? Is it better to have them domain-less or make union classes?

@StroemPhi to be honest I no longer what context prompted this question. For the moment I would leave as is


Add sound notification and context menu.

Folder "Sounds" will be created.
Add a force exit button and shutdown button in context menu of Notifyicon.

Sorry, please be implemented as plugins.


Keep groups-memberships containers in sync

For every file in groups-memberships-ipps there should be a corresponding file in all other groups-memberships containers.
For every file in groups-memberships-actual there should be a corresponding file in all other groups-memberships containers.

Moved to https://github.com/wrdsb/cosmos/issues/114


is entry in jquery-comments valid

The following line 542 appears in jquery-comments.js:
if(commentId = textarea.attr('data-comment')) {
Webmatrix labels it as an error as well the equivalent statement in the minimized version.
I am still working my way through an understanding of jscript and still have a long way to go, but my experience as  programmer tells me that this is a conditional statement that is always true because its argument merely sets the value of the variable.  This conditional statement serves no function. Should it be "==" ?, or am I misunderstanding something?
There are also a dozen or more instances of variable lists ending with a unnecessary comma after the last entry which WebMatrix flags as errors. This is not a problem because the minimizing program seems to ignore them.

Hi and thanks for the report @emaslow !
You're correct, it should indeed be "==".
I've fixed the issue in a new commit here: https://github.com/Viima/jquery-comments/commit/fa36d65c1b8f5e555ce1de38676ea8fa4a339321
As for the errors regarding line unnecessary commas in WebMatrix, it's true that they don't really affect anything. I also think that those errors are a result of the WebMatrix syntax checker not realising that there might be empty rows within lists. Could you confirm if those errors are coming from rows immediately followed by empty rows?

Thank you, jessenieminen, I did assume  a typo.
The commas only occur for the last item in a given list, no empty rows. But, it is that they are not needed for the standard and not necessarily wrong. Most interpreters just ignore them. WebMatrix is just picky. No problem when you realize this, but a bit of a nuisance. It's easier to just delete the commas than to ignore them.