Add reading functions to ctapipe.io

I propose to add a list of classes/methods or functions to read DL1 and DL2 files.
For example, the DL1 benchmarking workshop repo has a code snippet in benchmark_helpers.py called DL1Loader which just now I was about to copy-paste in protopipe, but there is no reason (in general) to copy-paste code from different sources or to reinvent the wheel everytime (especially since we decide our data formats).
I think we should provide here - under ctapipe.io - all necessary methods to read images and/or parameters recorded with both tel_id and tel_type file structures, get all unique existent camera names from the files, etc.

@HealthyPear I will work on that for #1767, where this is needed.

get all unique existent camera names from the files, etc.

That's just SubarryDescription.from_hdf(...)

Though, since

such feature is used /can be used) already for benchmarking purposes
the timeline of #1767 is not clear
these functions should be realtively easy to add (the tel_id versions are basically already in the workshop materials)

I would suggest to open a separate PR which I'm confident would be merged anyway before #1767

Perfect.
I am testing these functions with data produced from #1726 for review of that PR and to upgrade protopipe.mva in preparation of that PR so I can propose a first set of functions/classes.

It would be probably good to discuss here how we want the output to look like, since I realized there are different ways to do it.
For now I am experimenting with a single table for tel_id-based datasets and a tel_type-based dictionary of single tables for tel_type-based datasets.
By single table I mean the reult of joining trigger, simshower, dl1 and dl2, etc...
Since in some cases it would be too much I am testing also a data-type mask to export only some of the information with one function/method.
another solution would be to have 1 function/method per-data-type (so 1 for trigger, 1 for dl2, etc...) and then the joining is done sequentially on what has been activated via the mask.


Update license file

HoloPy license file has changed from COPYING to LICENSE (post 3.2.1 release). meta.yaml should be updated accordingly.

Fixed in #24


Update packages

Oops
Expected

Actual

It was a caching issue. I had to delete the master cache and this branch's cache


Fix leak: Hide x and g^{\alpha} from the prover

If either x or g^{\alpha} is shared, then a corrupt prover can use this in order to convince a verifier of any statement it chooses

Make sure to update the ChangeLog.md.


Voting plugin

We need a voting plugin (split from #17).

Hello @CapacitorSet ,
A voting plugin, sounds an interesting idea. I would like to get my hands dirty with it. Can you give me an explanation, with which I can start with.

Hello, thanks for your interest!
You can find help on writing plugins in docs/Plugin.md; you can find a sample plugin in src/plugins/ImageSearch.js. Note that all work happens on the es6 branch.
As for the voting plugin in particular, there is no plan yet, you're free to design it as you wish - just use the plugin standards (eg. using a !createvote Do you like this bot?).

Fixed in 021cc6f1a8ea4c4abc98d24934a5f97cd23d4047.


how to retrieve mean L2 distance in CarliniL2Method ?

Can you please help me with retrieving the L2 distance in CarliniL2Method?
Thanks

Hi @le000043 The approach would be similar to #1103

thanks


update instructions for Apple Silicon users

Learn Build status updates of commit 5315dce:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/azure-data-studio/download-azure-data-studio.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@tdoshin
Can you review the proposed changes? 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

Learn Build status updates of commit 82c5b7b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/azure-data-studio/download-azure-data-studio.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Remove trigger binding for GA release

Removing from here in preparation for GA release of input/output bindings.

@Charles-Gagnon just following this, and wanted to make sure that removing the trigger binding just means, "remove for this 1st GA release, which includes only the input/output bindings, but the trigger will still be developed and released at a later date"?
Or did you guys backtrack and decide to NOT move forward with the SQL trigger? This is a functionality we're currently starting to adopt for functionality in an app, and if it gets pulled before we release, we'd like to know so we can pivot to another option.

@tafs7 good question - being super clear, this is just for a GA release with input/output bindings, and the trigger is moving forward. The trigger will remain in preview for a little while longer until it reaches GA, but it is moving forward!


Feature/campaigns list

Why four commits?
I don't think you branched from deploy

Please do that and resubmit

Doing it


Hi

Hello, sorry for inconvenience, but can you help me to make a tool that is like to 3dMigoto(like, to be more specific, the fork that can use skins on genshin impact) but on android(bcz it is made for directX, and structure is for windows too...)? Or help me to think how make or try to do this...

Don't really understand the purpose. Better ask such things in our Discord, that's an out-of-topic issue


Problem with sfdx-cli running on WSL

Summary
I know sfdx-cli is not "officially" supported on WSL, but it works for my other teammates but not on my WSL. Every time I try to create a new scratch org on WSL, I receive this error:
=== Component Failures [1]
TYPE   FILE                                   NAME                             PROBLEM
─────  ─────────────────────────────────────  ───────────────────────────────  ─────────────────────────────────────────────
Error  shape/settings/OrgPreference.settings  settings/OrgPreference.settings  Not available for deploy for this API version

Steps To Reproduce:
Just run
sfdx force:org:create -f scratch-config.json -a myAlias
I tried turning on and off some features and it doesn't fix the issue.
Expected result
I expect the scratch org to be created with the correct alias.
Actual result
The scratch org is created, it expends the scratch org limits, but the scratch org has no alias set in my sfdx-cli. I also cannot run sfdx force:org:open on that scratch org. I can create a password and login but the features that I have setup in my config file are not enabled in the Scratch org.
Additional information
Feel free to attach a screenshot.

SFDX CLI Version(to find the version of the CLI engine run sfdx --version):
sfdx-cli/7.58.2 linux-x64 node-v12.16.3
SFDX plugin Version(to find the version of the CLI plugin run sfdx plugins --core)
@oclif/plugin-autocomplete 0.2.0
@oclif/plugin-commands 1.2.3 (core)
@oclif/plugin-help 2.2.3 (core)
@oclif/plugin-not-found 1.2.4 (core)
@oclif/plugin-plugins 1.7.9 (core)
@oclif/plugin-update 1.3.10 (core)
@oclif/plugin-warn-if-update-available 1.7.0 (core)
@oclif/plugin-which 1.0.3 (core)
@salesforce/sfdx-diff 0.0.6
@salesforce/sfdx-trust 3.0.7 (core)
analytics 1.7.1 (core)
generator 1.1.2 (core)
salesforcedx 48.14.3 (core)
├─ @salesforce/sfdx-plugin-lwc-test 0.1.5 (core)
├─ salesforce-alm 48.15.0 (core)
└─ salesforcedx-templates 48.17.0 (core)
sfdx-cli 7.58.2 (core)

(I had the issue even before installing @oclif plugin)
OS and version:
WSL on Windows 10

@erocheleau there is one thing you could try. Find your os.tmpdir() (e.g. /tmp), delete the created shape folder and try again.

Wow I think it actually worked!

Where is that coming from that /shape/ folder?

@erocheleau the shape folder and its content is created based on your scratch-config.json file. Each key in this file results in a corresponding settings file in that folder, then all settings are deployed to the scratch org.
As the OrgPreference settings are deprecated the settings were removed from the scratch-config.json file but due to a bug the shape folder is not cleaned or removed after executing force:org:create. So an old generated OrgPreference.settings file still existed in the shape folder on your machine.

Haha very good to know, I actually did try to go into the metadata.json of the org I was trying to deploy to sometimes to try and remove some of the metadata that was blocking with sfdx. So I guess I wasn't crazy, just not looking in the right place!
Thanks again!


bar chart - Mukund

A few issue needa be fixed.

For bottom, the number of chart does not match the selection.
Some bars are showing with numbers 3.
As shown in the images, bottm 6 & 7 are showing different countries.

I will check on these issues

Sorry for my oversight, the issues should be fixed now. Please do take a look. As Pavel had mentioned, I have also removed the zoom on scroll feature on the world map to make it easier to navigate the app.


Unable to use join statement in Filter

Hi,
We have entity framework code first model and classes correctly setup, however the following filter gives me an error. I simply want to return BouncedContacts that have an associated UserAccount (by joining on the SubaccountID).
this.Filter<BouncedContact>(q => q.Join(this.UserAccounts, a => a.SubaccountID, b => b.SubaccountID, (a,b) => a));
Error:
The ResultType of the referenced variable 'LQ6' does not match the type specified in this variable reference expression. Parameter name: query.

GHello @RikWaspcroft ,
Thank you for reporting. We will look at this during the week.
Best Regards,
Jonathan

Hello @RikWaspcroft ,
Filtering with join cannot work within our library. The return type must be currently the same as the DbSet type.
Currently, one way to make it work is to use instead Include with DbSetFilter
ctx.DbSetFilter<BouncedContact>(q => q.Include("UserAccounts"));

Only the DbSet will be filtered but at least, it will automatically include UserAccounts to your BouncedContact set.
Let me know if this workaround can be applied to your scenario.
Best Regards,
Jonathan

Hello @RikWaspcroft ,
I will close this issue, feel free to reopen if you have more question about it.
Best Regards,
Jonathan


Fix update order

Currently if there are multiple new updates, the feed will update from newest to oldest. This is clearly the wrong direction and should be reversed

Fixed by 375e624972db2dbc06175e8dbe296e7d7e552330


BlobStorageException.getErrroCode returns null

Describe the bug
Caller was crashed when receiving a null returned value from BlobStorageException.getErrroCode.
Expected behavior
The caller expects BlobStorageException.getErrroCode returns a non-null BlobErrorCode.
Version
azureStorageBlob - com.azure:azure-storage-blob:12.12.0.

Thank you for filing this @liuchang0520.
Is it possible to include a stack trace or reproduction of this issue?
FYI @ibrahimrabab @ibrandes

Hi @liuchang0520
Please provide a code snippet of how you are producing this issue, as well as a stack error trace so that we can determine the issue you are seeing. Thanks!

Thanks @ibrahimrabab @alzimmermsft . Please take a look at the attached stack trace. I've removed the upstream stack from our internal components.
java.lang.NullPointerException: Cannot invoke "com.azure.storage.blob.models.BlobErrorCode.equals(Object)" because the return value of "com.azure.storage.blob.models.BlobStorageException.getErrorCode()" is null.
From our side, we might need to fix the logic to be Object.equals(BlobErrorCode). Meanwhile I think BlobStorageException.getErrorCode() should not return null value.

@liuchang0520
It's hard to tell why this issue is occurring without seeing a code snippet of how you are producing this error. Can you post a code snippet showing us the reproducible behavior?

@ibrahimrabab The following is the code snippet.
          try {
                   ......
            } catch (BlobStorageException be) {
                if (be.getErrorCode().equals(BlobErrorCode.BLOB_NOT_FOUND))
                    .........
                }
            }

@liuchang0520
Can you show us what operations you are doing within the try block?

@ibrahimrabab Sorry for the confusion.
We are doing com.azure.storage.blob.BlobClient.delete()  inside the try block

@liuchang0520
You are using an old version of azure blob storage which may be the issue. Can you try upgrading your version to at least 12.19.0? That way you can also leverage BlobClient.deleteIfExists(), which deletes a blob only if it exists and will not throw an exception.


add Java 9 test in travis-ci

Sorry for the delay on this - is this still relevant? Can you update it with latest versions of things?


Unable to rock out w/ cli-aoke on OS X El Cap

I can't for the life of me get cli-aoke to work on the newest version of OS X.
the sing  command always returns as follows
hernamesbarbara at hernamesbarbara-MBP in ~
$ cli-aoke sing Jay-Z_-_Hard_Knock_Life.mid
DJ cli-aoke on the request line.
Bringing up the track...
Fetching lyrics...
Sowwwwyyyyy
Search for Jay-Z_-_Hard_Knock_Life.mid returned zero results.

noooooo this is a travesty :( i will try it out
On Thu, Nov 5, 2015 at 3:08 PM, Austin O<EMAIL_ADDRESS>wrote:

I can't for the life of me get cli-aoke to work on the newest version of
OS X.
the sing command always returns as follows
hernamesbarbara at hernamesbarbara-MBP in ~
$ cli-aoke sing Jay-Z_-Hard_Knock_Life.mid
DJ cli-aoke on the request line.
Bringing up the track...
Fetching lyrics...
Sowwwwyyyyy
Search for Jay-Z-_Hard_Knock_Life.mid returned zero results.
—
Reply to this email directly or view it on GitHub
https://github.com/jfrazelle/cli-aoke/issues/6.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

Rewrite it in go whoop


Policy Change: Reduce Equity Multiple (End of Seed Round)

As soon as the vote passes, change the Hypha multiplier for salary from 0.6 to 0.5. The new token salary will be computed as follows:
:::
Salary Computation

Deferred Seeds = USD/SeedsConversion * Committed * Deferred * (1+SeedsBonus)
Liquid Seeds = USD/SeedsConversion * Committed * (1-Deferred) * (1-HUSD)
HVOICE = USD * Committed * 2 for Role Assignments ONLY, otherwise USD*Committed
HYPHA = USD * Committed * Deferred * HyphaBonus
HUSD = USD * Committed * (1-Deferred) * HUSD

with

Committed = [0-100%] (input)
HUSD =  [0-100%] (input)
SeedsConversion = 0.011 (feed)
HyphaBonus = 0.5 (fixed, per vote ID 373 changed from 0.6 to 0.5)
SeedsBonus = 0.3 (fixed)
Lunar Phases Weekly Multiplier = 7.4/365

TRY THIS HERE
:::
Per policy contribution vote:
This proposal is for a policy change to reduce the current multiplier for Hypha equity to 0.5X from 0.6X.

| Key | Value
-- | -- | --
  | assets.husd_amount | "0.00 HUSD"
  | assets.hvoice_amount | "1.00 HVOICE"
  | assets.hypha_amount | "0.60 HYPHA"
  | assets.seeds_escrow_amount | "110.75 SEEDS"
  | created_date | 2020-09-14T03:23:24.000
  | id | 373
  | ints.end_period | 2020-10-23T13:23:00.000
  | ints.start_period | 2020-09-17T11:01:00.000
  | names.ballot_id | "hypha1.....sg"
  | names.owner | "thealchemist"
  | names.recipient | "thealchemist"
  | names.trx_action_contract | "dao.hypha"
  | names.trx_action_name | "makepayout"
  | names.type | "payout"
  | strings.client_version | "1.0.13 0c81dde6"
  | strings.contract_version | "a2c01393ba575ed0babdfaff344b5c965be0ee8b"
add | strings.description | "This proposal is for a policy change to reduce the current multiplier for Hypha equity to 0.5X from 0.6X. This is 1 drop dow...
  | strings.title | "Policy Change: Reduce Equity Multiple (End of Seed Round)"
  | strings.url | "null"
  | updated_date | 2020-09-14T03:23:24.000

Update the calculation to pull from the contract configuration setting


I can't get insert any data to database

I made my entity, dao and database dart files, database.g.dart builded succeeded, but when I try to add some data from snapshot.data from my future I am just getting below error. I think I am missing something to add in my main.dart but what?
error:
E/flutter ( 5315): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: NoSuchMethodError: The method 'insertMovie' was called on null.
E/flutter ( 5315): Receiver: null
E/flutter ( 5315): Tried calling: insertMovie(Instance of 'MovieF')

entitiy.dart:
import 'package:floor/floor.dart';

@entity
class MovieF {
  @PrimaryKey(autoGenerate: true)
  final int id;

  final String poster_path;
  final int imdbid;
  final String backdrop_path;
  final String original_title;
  final String title;
  final String vote_average;
  final String release_date;

  MovieF({this.id,
      this.poster_path,
      this.imdbid,
      this.backdrop_path,
      this.original_title,
      this.title,
      this.vote_average,
      this.release_date});

  @override
  int get hashCode => id.hashCode ^ poster_path.hashCode ^ imdbid.hashCode ^ backdrop_path.hashCode ^ original_title.hashCode ^ title.hashCode ^ vote_average.hashCode ^ release_date.hashCode ;

  @override
  String toString() {
    return 'MovieF{id: $id, poster_path: $poster_path, imdbid: $imdbid, backdrop_path: $backdrop_path, original_title: $original_title, title: $title, vote_average: $vote_average, release_date: $release_date}';
  }
}

favorite_dao.dart:
import 'package:floor/floor.dart';
import 'entity.dart';

@dao
abstract class FavoriteDao {
  @Query('SELECT * FROM movief WHERE id = :id')
  Future<MovieF> findTaskById(int id);

  @Query('SELECT * FROM movief')
  Future<List<MovieF>> findAllMovies();

  @Query('SELECT * FROM movief')
  Stream<List<MovieF>> findAllMoviesAsStream();

  @insert
  Future<void> insertMovie(MovieF movief);

  @delete
  Future<int> deleteMovie(MovieF movief);

}

database.dart:
import 'dart:async';
import 'package:floor/floor.dart';
import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart' as sqflite;
import 'favorite_dao.dart';
import 'entity.dart';
part 'database.g.dart'; // the generated code will be there

@Database(version: 1, entities: [MovieF])
abstract class FavoriteDatabase extends FloorDatabase {
  FavoriteDao get favoriteDao;
}

Summary and things I added in my main.dart:
import{...}
import 'favorite_dao.dart';
import 'database.dart';
import 'entity.dart';

Future<void> main() async{
  WidgetsFlutterBinding.ensureInitialized();
  FavoriteDatabase _favoriteDatabase = await $FloorFavoriteDatabase.databaseBuilder('favorite_database.db').build();
  FavoriteDao favoriteDao;

  runApp(MyApp());
}
class MyApp extends StatelessWidget{...}

class MyFirstPage extends StatefulWidget {...}

class _MyFirstPageState extends State<MyFirstPage>{...}

class MyHomePage extends StatefulWidget {...}

class _MyHomePageState extends State<MyHomePage> {...
FavoriteDao favoriteDao;
.....
Widget build(BuildContext context) {
    return FutureBuilder<Payload>(
        future: getData(_name),
        builder: (context, snapshot) {...
.
.
.
                          floatingActionButton: FloatingActionButton(
                          onPressed: () async{
                          var movief = MovieF(poster_path: snapshot.data.poster_path, imdbid: snapshot.data.imdb_id, backdrop_path:
                            snapshot.data.backdrop_path, original_title: snapshot.data.original_title, title: snapshot.data.title, vote_average: snapshot.data.vote_average,
                                release_date: snapshot.data.release_date);
                            print(movief);
                            await favoriteDao.insertMovie(movief);
                          },
                          child: Icon(Icons.add),

What I can see from your code sample is that the favoriteDao variable in your main function and in your _MyHomePageState class was not assigned a value. Did you do that in the code you omitted? If you didn't, then this would explain the error message you got.
What I mean is that you would have to put
  FavoriteDatabase _favoriteDatabase = await $FloorFavoriteDatabase.databaseBuilder('favorite_database.db').build();
  FavoriteDao favoriteDao = _favoriteDatabase.favoriteDao;

instead of just
  FavoriteDatabase _favoriteDatabase = await $FloorFavoriteDatabase.databaseBuilder('favorite_database.db').build();
  FavoriteDao favoriteDao;

into your main function. The class variable would have to get its value from the constructor or a setter function.
PS: did you know that you can color your code snippets (thanks for providing them btw!) by putting ```dart instead of just ```in front of them?

Thank you for your answer it solved my issue, and I edited my message as colored :) May I ask one more thing if it's not irrelevant; how can I avoid to add multiple identical objects to db?


Monte-Carlo Dropout not working on M1 (without seed)

System information

Apple M1 chipset running "macOS Monterey 12.4"
Tensorflow installed from binary (version 2.9.1)
TensorFlow version (use command below): 2.9.1
Python version: 3.9.13
GPU model and memory: Apple M1 and metal GPU
Miniconda as package manager as described in
https://developer.apple.com/metal/tensorflow-plugin/
Below are the exact installation commands

conda install -c apple tensorflow-deps --yes
pip install --upgrade tensorflow-macos tensorflow-metal

Bug description.
While using the Monte-Carlo Dropout (Dropout layer with training=True), Model is giving same output every-time (same connections are being dropped on each different call).
Describe the current behaviour
I have provided a code for reproducing the issue, below is current output which I am getting from 3 different calls to MC-dropout layer

[[-0.     -0.9094 -0.     -1.6735 -0.    ]]
[[-0.     -0.9094 -0.     -1.6735 -0.    ]]
[[-0.     -0.9094 -0.     -1.6735 -0.    ]]
[[-0.     -0.9094 -0.     -1.6735 -0.    ]]

Expected output
Upon passing the same data multiple times (on each call) we should see different connections to be dropped, and hence get different output (which is the case when I am running the same code & TF 2.9.1 on Google Colab, output mentioned below)

[[-1.1801 -0.     -1.1067 -1.6735 -0.7348]]
[[-0.     -0.9094 -0.     -1.6735 -0.    ]]
[[-0.     -0.     -1.1067 -0.     -0.    ]]
[[-0.     -0.     -0.     -1.6735 -0.    ]]

Standalone code to reproduce the issue

import numpy as np
from tensorflow import keras
from tensorflow.keras import layers

class MonteCarloDropout(layers.Dropout):
    def call(self, inputs):
        return super().call(inputs, training=True)

n_samples = 5
ip_dim, op_dim = 4, 1

SEED_VAL = 0
np.random.seed(SEED_VAL)
# keras.utils.set_random_seed(SEED_VAL)

X = np.random.random((n_samples, ip_dim))

fc_layer = layers.Dense(op_dim, input_shape=(ip_dim,))
mc_layer = MonteCarloDropout(rate=0.5)

for val in range(4):
	print( mc_layer(fc_layer(X)).numpy().T.round(4) )

Also, find the link to the Jupyter notebook on Google colab
Additional note
Line 17 on Jupyter notebook, if uncommented solves the issue temporarily. But setting a random seed makes entire procedure deterministic which should not be the case

@gadagashwini,
I was able to reproduce the issue on tensorflow v2.8, v2.9 and nightly. Kindly find the gist of it here.

@chaudharyachint08 @tilakrayal I am not able to reproduce the issue with the either of the 2 notebooks.
It always give different output everytime, which is expected.
Please reopen if you still can reproduce it.

@chaudharyachint08 I do not have the environment to reproduce this bug. So is it only reproducable on M1?

Hi @haifeng-jin, the same thing happened to me on my M1 Macbook as well.

Yes @haifeng-jin , I tried reproducing the bug on Nvidia GPU & AMD CPU based TensorFlow installs too, only comes up on M1 machine


Use ReSwift in modular app

Hi, I have some question about using ReSwift and REDUX pattern in modular app.
Modular app is one applications which divided into frameworks. An example to framework can be:

Core Framework - contains core capabilities which are shared in the app (like: security, user defaults and more)

Network Framework - contains all the network requests

UI Frameworks - to share and reuse UI components inside the app like: Buttons, TextFields, Table views and more.

The major part in each modular app is the Feature Frameworks which are a code for specific feature inside the big app. Such features can be: HomeFeature, ProfileFeature, SettingsFeature, FeedFeature and more and more according to the app capabilities. Each feature should not be depend on other feature.
The question is how ReSwift can be used in such architecture? The challenge is how to share the state (which should be global) between the Feature framework.
Let's say that we create the AppState on the App level (in the app delegate) and the app is depended on all the Feature framework. Inside each feature framework we will create the specific redux components for this specific feature (e.g. in HomeFeature we will have HomeState, HomeReducer and HomeActions which are relevant only to this feature).
Now, in such architecture the App knows the HomeState and HomeReducer because they are exposed by the Feature framework and we have dependency but the problem is that the Feature framework is not depended on the App and the feature framework don't know what is an AppState or what is a Store so we cannot dispatch actions in it.
I hope that my what I describe above is clear... and would like to hear your thoughts about it.
I think ReSwift is a great and very powerful library and if we will be able to create a modular app and still utilize this pattern it will be awesome!
Thanks.

@ranhsd I haven't fully thought it through, but could you put the Store into its own module, and all feature modules import it? Actions and Reducers could live in the feature modules.

Hi @manmal
Thanks for your response.
I can do that but the store is depended on the app state which is part of the App. And I cannot create dependency to the app from the redux store module.

@ranhsd Hi Ran! I have a similar setup to what you're describing working by using generics.
Here is an example oh how one could separate a feature out such that it has no knowledge of the app itself:
AccountsFeature.framework:
import ReSwift
import UIKit

public struct Account {}

public struct AddAccount: Action {
    public let account: Account
}

public protocol HasAccounts {
    var accounts: [Account] { get }
}

public func accountsReducer(action: Action, state: [Account]?) -> [Account] {
    var state = state ?? []
    switch action {
    case let action as AddAccount:
        state.append(account)
    default:
        break
    }
    return state
}

public final class AccountsViewController<S: StoreType>: UIViewController where S.State: HasAccounts {
    private let store: S

    public init(store: S) {
        self.store = store
        super.init(nibName: nil, bundle: nil)
        // ...
    }
}

Main.app:
import AccountsFeature
import ReSwift
import Foundation

struct AppState: StateType {
    var accounts: [Account]
}

extension AppState: HasAccounts {}

func appReducer(action: Action, state: AppState?) -> AppState {
    return AppState(
        accounts: accountsReducer(action: action, state: state?.accounts)
    )
}

let store = Store<AppState>(reducer: appReducer, state: nil)

let controller = AccountsViewController(store: store)

@manmal No it won't because then the app will not know the state and I cannot create dependency between them because I need to avoid circular dependencies.
@mjarvis  Your solution looks good, actually it looks very good. What I did so far is I use DispatchFunction instance instead of StoreType (which BTW is new to me :)) and I did it without generics. So my code looks like the following:
My Feed Feature
public class FeedViewController: UIViewController {

    var networkManager: TFNetwork!
    open var dispatchFunction: DispatchFunction!

    @IBOutlet weak var collectionView: UICollectionView! {
        didSet {
            collectionView.backgroundColor = .white
        }
    }

    public static func makeViewController() -> FeedViewController {
        let storyboard = SwinjectStoryboard.create(name: "Feed", bundle: Bundle(for: self),container: container)
        let viewController = storyboard.instantiateViewController(ofType: FeedViewController.self)
        return viewController
    }

    public override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationItem.title = NSLocalizedString("FEED_TITLE", comment: "")
        self.observe(theme: \TFAppTheme.custom.feed)

        dispatchFunction(FeedAction())

    }
}

And in my main app I use dependency injection (using Swinject):
            let vc = FeedViewController.makeViewController()

            vc.tabBarItem = r.resolve(UITabBarItem.self, arguments: UIImage(named: "tab_feed"), UIImage(named: "tab_feed_active"), 0)

            vc.dispatchFunction = store.dispatchFunction

            let nc = UINavigationController(rootViewController: vc)
            return [nc]

I think your solution looks better (although it use generic). What do you think?
Thanks!

@ranhsd The advantage with my solution is that it can be used for subscribing to the store, as well, as opposed to just dispatching actions.
public final class AccountsViewController<S: StoreType>: UIViewController where S.State: HasAccounts {
    private let store: S

    public init(store: S) {
        self.store = store
        super.init(nibName: nil, bundle: nil)
        // ...
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        store.subscribe(self) {
            $0.select { $0.accounts }
        }
    }
}

extension AccountsViewController: StoreSubscriber {
    func newState(state: [Account]) {
        // ...
    }
}

As for the injection types & storyboard initialization you can still use the generics with that, its just a bit more awkward because you have to manually specify the generic argument instead of it being inferred by the init function.
(Aside: there is also DispatchingStoreType for a store that can only dispatch, if you prefer that instead of passing around the dispatch function itself)

Hi @mjarvis I found some issues (that maybe you will know how to resolve) using it:

You cannot use storyboards - because the view controller use generics, initialization from storyboard will not work in runtime. I assume that your are not using storyboard in your project ...

How to use action creators in such architecture? Action creators expect to receive the AppState and store and our module don't have access to the AppState

Let's assume that I want to subscribe to more than one sub-state in the framework. Did you had the chance the face such requirement?

Thanks!

Correct, you cannot use storyboards directly using the generic method. You can however nest a non-generic view controller for the storyboard load inside of a generic one. (IE have the storyboard vc be a child view controller)

Action creators can be created using generics & protocols as well:

func doubleValueActionCreator<T: HasTestValue>(state: T, store: Store<T>) -> Action? {
    return SetValueAction(state.testValue! * 2)
}
store.dispatch(doubleValueActionCreator)

The controller's generic restrictions can be extended to include many sub-states:

where S.State: HasAccounts & HasTestValue & HasOtherThings

or the protocol itself can have more than a single item in it. (My cases use a single sub-state per protocol to allow for composing and re-use across components)

Hi @mjarvis Thanks,
I go step by step according to what you described.  My action creator need to get parameters also so what I did is to create the following action creator:
public func loadFeedActionCreator<S : HasFeedState>(networkManager: TFNetwork) -> (S, Store<S>) -> Action? {

    return {state, store in
        return nil
    }

}

The problem is when I am trying to dispatch this action I get the following error:

I really don't know why I am getting it here... I am familiar with this error but it looks like that the store is ok. Do you know why I am getting it?  (P.S. it is not related to the networkManager parameter)

I'm not sure how to get around this error... I can reproduce it as well. Seems to be something about returning a generic function.
Somewhat related -- There is a plan in place to deprecate ActionCreator and AsyncActionCreator in favour of Thunk middleware, which can be used in a manner which avoids this error.

Yes.. that's totally strange... I am trying to check why its not working ...

Hi @mjarvis It looks like only this code is working for now:
struct someAction : Action {

    let networkManager: TFNetwork

    init(networkManager: TFNetwork) {
        self.networkManager = networkManager
        performAction()
    }

    private func performAction() {

    }
}

and in the view controller:
store.dispatch(someAction(networkManager: networkManager))

I don't like it so much but maybe it can be an intermediate solution until the Thunk will be available.

@ranhsd Thunk is something you can use now if you want, its just a piece of middleware and an action, you can add them to your project without any modifications to ReSwift itself -- https://github.com/ReSwift/ReSwift/blob/b7b3f6cbc64252fc845253963ca896a0adbeb3c8/ReSwift/CoreTypes/Thunk.swift

Hi @mjarvis ... ok I am trying to integrate it now...
BTW.. did you had a chance to look on this one:
https://github.com/jordanebelanger/ReSwiftSaga

Hi , I managed to do something with Thunk.
I had the same error like the one that returned by the Action Creator and then I changed it a bit and come up with the following:
func loadFeed<S : HasFeedState>(manager: TFNetwork, state: S) -> Thunk<S> {
    return Thunk(body: {dispatch, getState in
        print("action executed")
    })
}

You must use
<S : HasFeedState>
because by when you create the thunk middleware you create it with the AppState and the middleware perform a switch condition to know if the action should be handled or not, and because the AppState conform to the HasFeedState protocol the action runs.
Another important thing to notice is that you must  end the state as a parameter to the thunk action function otherwise you will get the Generic parameter S cannot be infer error.
now the value of the state that you send is actually the state that you have in your store so in your view controller you should call it like this:
store.dispatch(loadFeed(manager: networkManager, state: store.state))

@DivineDominion Thats exactly the approach I use. My examples were just the more specific parts of defining the features themselves, and being able to pass the store around without knowing about AppState

Hi @DivineDominion this is also how I built it. I have more target frameworks for different parts in my app like: networking, ui components and more but the idea is that each module will provide its own resources and I am  not count on a some central place. To be honest, it is much more complicated to be achieved in ReSwift comparing to other approaches like: MVVM, VIPER or Clean Swift but I am not going to give up on that because I really think that it worth it.
Another challenging topic is routing. Do you use ReSwift-Router for performing routing between your features modules or you use another approaches (like: flow coordinators etc.)?

Hi @mjarvis What do you think about Routing in such app? I want to use ReSwift-Router for routing between view controllers in the app but I still want to decouple one feature from other features. I am starting to think that Routing should be implemented centrally without creating Routable implementation inside each module. So the app will define all the routes on the app level and we will pass the HasNavigationState to each module so we will be able to dispatch routing action inside the module but the route will be handled centrally by the app (where it has access to all the feature modules).
What do you think? there is a way that the feature module will provide the routing object to the app or it should be handled centrally?
Thanks.

I highly recommend that routing happens at the app level.
My method of doing this is by having a piece of middleware be the coordinator, which pushes / pops / presents appropriate controllers when certain actions are dispatched.
ReSwift-Router is not production ready at this time, I do not recommend using it except for experimentation & learning. (We'd love to rebuild it in a more modular and production ready way, but routing is HARD and so far no-one has come up with a good general solution)

@ranhsd I do not use stored route state, I find maintaining that state extremely difficult, and then it requires a distinct "route action" as you call it. Instead, I use actions that don't know anything about routing, and its all handled in my middleware.
For example, my middleware watches for AccountsFeature.AccountSelected action, and accordingly creates a ProfileViewController and pushes it onto the navigation stack (which it owns).
This way, there is zero direct connection between the object dispatching the action, the router, and the next controller displayed. Same goes for canceling / returning etc. all dispatched as a normal action, and intercepted by the middleware to do the appropriate navigation.

Hi @mjarvis Got it!
Thanks!


compiling error

Hello,
This error is alway on macOS ARM64 platforms:
error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
--> src/structure/construction/nc_with_noise.rs:205:12
|
205 | pub struct BwtBlock128NN {
|            ^^^^^^^^^^^^^
|
= note: source type: BwtBlock128NN (768 bits)
= note: target type: nc_with_noise::_::{closure#0}::TypeWithoutPadding (704 bits)
error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
--> src/structure/construction/aa_with_noise.rs:596:12
|
596 | pub struct BwtBlock128AN {
|            ^^^^^^^^^^^^^
|
= note: source type: BwtBlock128AN (2048 bits)
= note: target type: aa_with_noise::_::{closure#0}::TypeWithoutPadding (1984 bits)
For more information about this error, try rustc --explain E0512.
error: could not compile lt-fm-index due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
Thanks,
Jianshu

Thank you for the bug report!
This problem seems to be caused by deriving Pod trait in the bytemuck crate.
I added custom padding to struct and updated the fixed version to 0.5.6.
Let me know if there is still a problem.


Getting Undefined variable Sass error when using node

Hello,
I am trying to use bulma-list with a react app governed by https://www.npmjs.com/package/react-scripts.
This is my full app.scss:
@use "bulma";
@use "bulma-list/sass/bulma-list.sass";

Getting this error:
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: Undefined variable.
  ╷
1 │ $list-color: $text !default
  │              ^^^^^
  ╵
  node_modules/bulma-list/sass/bulma-list.sass 1:14  @use
  src/App.scss 2:1                                   root stylesheet

Bulma in general works just fine. It seems to me that bulma-list cannot rely on the color of $text in bulma for some reason. This is just a guess because I am not a big sass guru.
Please help.
Thanks!

Same issue here :)

I've intended for this to be fixed in v2 — if you were able to update to Bulma v1 and Bulma List v2 @legezam and @ValoXya and see if this is sorted now?


best practices for local typings

I have a directory of typings that I created on my own. I want them checked into source control (in the same repo as my project). I noticed that the typings.json does not keep a reference to these local files anywhere, so how does it install these? does this mean i should install check in the typings directory into github?

I noticed that the typings.json does not keep a reference to these local files anywhere, so how does it install these?

It doesn't.

does this mean i should install check in the typings directory into github?

No.
Can you share an example? I don't understand your problem from the description. If you have local type definitions, you definitely need to check them in otherwise other people can't work with them. If you're asking how to install them, just tsconfig.json to reference them (if they are not external modules) or use typings install file:... to install them.

I forgot the the --save flag. :fearful:


ClassNotFoundException

IntelliJ IDEA 2018.3 (Ultimate Edition)
Build #IU-183.4284.148, built on November 21, 2018
Licensed to Ruslan Ibragimov
Subscription is active until October 19, 2019
JRE: 1.8.0_152-release-1343-b15 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.15.0-38-generic

cc @bibaev

Fixed in 0.1.6

https://plugins.jetbrains.com/plugin/8117-completion-stats-collector
There are older version which has more priority, so Idea reports that there are no updates.


Angelscript detected as Actionscript

AngelScript ( http://www.angelcode.com/angelscript/ ) is a scripting language with C++-like syntax. Files usually have a .as file ending, which causes them to be recognized as ActionScript, which is incorrect. Would be nice if that didn't happen.

Related pull request: #3422
Can this file extension ambiguity be solved at all?

I'd say have an alternate extension for it as well (.acs for instance - which is short for AngelCode Script)

@ANybakk Is this still an issue? Linguist supports both Angelscript and Actionscript. You can use Linguist overrides if the classification is incorrect in your repository.

This was merged in #3844. @ANybakk's repositories are listed as mixed Actionscript & Angelscript, I assume because some haven't had recent pushes in order to update the language detection.

This was merged in #3844.

Oo right! 👍

@ANybakk's repositories are listed as mixed Actionscript & Angelscript, I assume because some haven't had recent pushes in order to update the language detection.

Yes, that would be the likely reason.
@ANybakk I'm going to close this; don't hesitate to open a new issue if you still have issues after pushing to those repositories.
Thanks @codecat for the precision!


Update us-in.json

Fixes #907.

Poked around at us-in.json -- looks like it's actually GDB, not shapefile.

In theory GDAL should be able to open and use it, but I don't think we've ever actually tested that.


chore: MarkDown Note marker compatibility spacing

Description:
This PR is a standalone attempt to standardize the MarkDown Note bubbles by adding the recommended single space after the quote marker.
MarkDown codestyle consistency is the main goal here.
Changes proposed:

Add single space between the quote marker and the text [!NOTE]
Add the same spacing to the connected text line in the same bubble
Apply the same standard to other nearby notes, e.g. [!IMPORTANT]
Standardize on uppercase [!NOTE] instead of mixed casing ( [!Note] )
Remove some of the obvious redundant spacing at end-of-file

Ticket reference or closure:
None that I know of (at least not yet).
Additional notes:
I have split this modification chore into sub-folder sections to keep the number of files within a reasonably manageable amount.

To simplify the review somewhat, you can choose to view the files with whitespace changes hidden:

https://github.com/MicrosoftDocs/windows-itpro-docs/pull/6060/files?utf8=✓&diff=unified&w=1

#sign-off

(BTW ref. #6062 )


RespValue only implements From, no other integers

If possible, I think it would make sense to implement From for i8, i16, i32, i64, u8, u16, u32 and isize through u32 as well.
This would make using resp_array!() with other integer types much more ergonomic, so we don't have to either cast as usize or use RespValue::Integer(x.into()) manually.

Ah, sorry, I seem to have been just confused about integers and redis messages. I didn't realize that all integers were supposed to be converted to strings before being sent to the server in a RespValue.
This would not be too useful if you're never supposed to use integers in a resp_array!() anyways.


chore(deps): Update to Go 1.22

Issue #, if available:
Description of changes:

Update to Go 1.22

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Tests failed because of a change in Go 1.22 related to how the version inside go.mod is handled. We need to figure out how to work around this problem


Fine tuning / train script?

Hi--I reviewed the code base, and it seems there is a pre-trained checkpoint, but I don't see any training script. I'm wondering if there could be an option to fine-tune on my own data.
Thanks again for this great work.

You can train your model from our original repository InSPyReNet. After training, you can plug-in your model. Please refer to https://github.com/plemeri/transparent-background?tab=readme-ov-file#new-configuration.
Thanks.

Closing due to inactivity. Please open another issue if problem persists.


Can I use some other audio for testing except for the example 0572_0019_0003.wav？

I have just try some other audios for test(I use the matlab  taking the *.wav file into mfcc bin files),find that most of the wav files did not make the modle generate the images, only a few can. Can this mode support this  test?

I find the testing is OK when the wav file duration time is short (e.g 6s )


how to install and use firebase-admin-python sdk on  raspberry pi 4 model b armv7l

I'm trying to connect the raspberry pi to the firestore
I downloaded the package using the following command
sudo pip install firebase-admin
this is my code
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
from google.cloud.firestore_v1 import Increment
#from lcd import LcdDisplay

class Database(object):
    __instance = None
    @staticmethod
    def getInstance():
        if Database.__instance == None:
            Database()
        return Database.__instance

    def __init__(self):
        if Database.__instance != None:
            raise Exception("This class is a singleton!")
        else:
            Database.__instance = self
            # initializing firebase
            self.cred = credentials.Certificate('moneybank-firebase-adminsdk.json')
            self.firebase_admin = firebase_admin.initialize_app(self.cred)
            self.db = firestore.client()
            # initializing lcd
            #self.lcd = LcdDisplay.getInstance()

    def add_banknote(self, id):
            ref = self.db.collection(u'banknotes').document(f'{id}')
            ref.update({ 'amount' :  Increment(1)})
            ref = self.db.collection(u'total').document(f'{id[:3:]}')
            ref.update({ f'{id[:3:]}' :  Increment(int(id[4::])) })
            #self.lcd.setLine2(self.lcd.line2+"====")

    def get_total(self):
        return{
            "ils": self.db.collection("total").document("ils").get().to_dict()["ils"],
            "jod": self.db.collection("total").document("jod").get().to_dict()["jod"],
            "usd": self.db.collection("total").document("usd").get().to_dict()["usd"]
        }

db = Database.getInstance()
print(db.get_total())

and when I run the file the following error occurs
/usr/bin/python /home/pi/Desktop/moneybank/database.py
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/firebase_admin/firestore.py", line 22, in
from google.cloud import firestore # pylint: disable=import-error,no-name-in-module
File "/home/pi/.local/lib/python3.9/site-packages/google/cloud/firestore.py", line 18, in
from google.cloud.firestore_v1 import version
File "/home/pi/.local/lib/python3.9/site-packages/google/cloud/firestore_v1/init.py", line 30, in
from google.cloud.firestore_v1._helpers import GeoPoint
File "/home/pi/.local/lib/python3.9/site-packages/google/cloud/firestore_v1/_helpers.py", line 22, in
from google.api_core import gapic_v1  # type: ignore
File "/home/pi/.local/lib/python3.9/site-packages/google/api_core/gapic_v1/init.py", line 16, in
from google.api_core.gapic_v1 import config
File "/home/pi/.local/lib/python3.9/site-packages/google/api_core/gapic_v1/config.py", line 23, in
import grpc
File "/usr/local/lib/python3.9/dist-packages/grpc/init.py", line 22, in
from grpc import _compression
File "/usr/local/lib/python3.9/dist-packages/grpc/_compression.py", line 15, in
from grpc._cython import cygrpc
ImportError: /usr/local/lib/python3.9/dist-packages/grpc/_cython/cygrpc.cpython-39-arm-linux-gnueabihf.so: undefined symbol: __atomic_exchange_8
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pi/Desktop/moneybank/database.py", line 5, in
from firebase_admin import firestore
File "/usr/local/lib/python3.9/dist-packages/firebase_admin/firestore.py", line 28, in
raise ImportError('Failed to import the Cloud Firestore library for Python. Make sure '
ImportError: Failed to import the Cloud Firestore library for Python. Make sure to install the "google-cloud-firestore" module.
note that: the same file is working on my laptop and this is the expected output
{'ils': 470, 'jod': 20, 'usd': 0}

Rpi is not an official platform we support. However, I came across this doing a quick search on your error. There are a couple fixes mentioned in that thread.
In the future, please use Stack Overflow to ask usage questions. Thanks!


Background (threaded) import of resources to allow using the editor while during import

Operating system or device, Godot version, GPU Model and driver (if graphics related):
All systems, current master branch.
Issue description:
Importing and re-import assets for the new 3.0 workflow can take quite some time, and the project can't be edited while the import process is running.
Moving the import logic to a thread could alleviate this inconvenience. This should likely be implemented for 3.0 Beta, so that users can test thew new features with a better workflow.

Could we have a progress bar / spinner with text somewhere in a corner so that we know the editor does some background work?

+1 this.. the only thing that irritates me to no end in 3.0 is editing a .png and saving it then alt-tabbing to Godot and having to wait for that 100-500ms
It's fast now because i'm editing tiny little 5kb images, however when I edit an atlas or whatnot I'm sure it'll be even more annoying. I liked how it was before i have no idea why i have .import files all over my damn directories as well lol

Thought they'd all stay in .import and i don't have to deal with them but now there just all over >_<

@Dillybob92 ever worked with Unity? ^^

@Zylann I see, yeah I guess it's similar to the old .flags file we had in 2.xx.
I originally thought we had to manually delete all corresponding .import files. Looks like the new 3.0 is now moving us towards to managing files inside the FileSystem tab for max efficiency.

Could we maie those files hidden ? .filename.jpeg.import? Or would that ibroduce other issues?

@toger5 might help browsing files, but again, you still need to remember they are here and required.
In Unity I think they have an option to put meta files in the import folder, but it makes versionning a bit harder.

Background import in itself is not worth it, as ensuring thread safety of
the import process is to much work. What we need to do is for textures
On Sep 10, 2017 11:32 AM, "Marc"<EMAIL_ADDRESS>wrote:

@toger5 https://github.com/toger5 might help browsing files, but again,
you still need to remember they are here and required.
In Unity I think they have an option to put meta files in the import
folder, but it makes versionning a bit harder.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/10583#issuecomment-328346410,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z27YqCDdbndoVzQP77bskdW_1lJBtks5sg_LlgaJpZM4O_416
.

I'm curious to know why this import is so slow. I understand there is a compression optimization thingy at work, but the speed of it is currenly ridiculous, is it really supposed to be that slow? Isn't there something wrong going on?

Etc2 is making it slow AFAIK

Well, yeah, my question is why^^

Kicking to 3.1, the import system has already been made more forgiving and a bit faster; multithreading can be done later on.

Bugsquad note: This issue is still relevant as of commit https://github.com/godotengine/godot/commit/d87307d850186d27d2c27c5916ec8c4744c14979.

To make reimporting feel faster (if you can spare the increased CPU usage), we could have an option to reimport files continuously, even if the editor isn't focused. This would require listening for changes on the filesystem to avoid polling.

Resource importing is now multi-threaded (and ETC2 importing was sped up), closing. See https://github.com/godotengine/godot/issues/10583#issuecomment-328358729 as for why background importing is not viable for Godot's use cases.


you need to select a valid controlnet module

since I updated controlnet to version(b2a2d1a0 (Sat Apr 15 16:11:12 2023)),this happened when I use controlnet in PS

how to fix it?


Add a flag to tell users which files were fixed, and via which rules

I'd prefer it on every Ruff invocation - it's just as important as the list of things that are fixable, and no more verbose than that list if you didn't pass the --fix. Knowing what it changed is just as important as what still needs to be done, and I'd just run it again if I wanted only the remaining fixable items (I do that with Rubocop, actually). But I'm totally fine with it being a flag too, I'd just add it to pre-commit's args. I woudn't want too much extra info, though - the file, line number, code, and reason for the unfixed checks is just about perfect for the fixed checks too.
Recent example: I added a noqa for a problem, then ran Ruff:
ruff.....................................................................Failed
- hook id: ruff
- exit code: 1
- files were modified by this hook

tests/test_command.py:413:5: SIM117 [*] Use a single `with` statement with multiple contexts instead of nested `with` statements
Found 2 errors (1 fixed, 1 remaining).

It deleted the noqa I added (since I missed by one line, I put it on the inner with instead of the outer with). But I can't tell that it did that from the output above; if I got the RUF00x noqa removal fix listed as "fixed", it would be much clearer what happened.


makes necessary changes to .rb file in lib to pass rspec tests.

4/5. On question 1 you hardcoded the answer, we want you to use the parameters passed into the method rather than hardcoding the answer. (ie instead of pets << 'snake' use pets << value)


How to use Codeunit 1371 "Sales Batch Post Mgt."

I create a new action to post multiple Sales Orders. However, I could only post then one by one by use the Codeunit 80 "Sales-Post". Whcih is similar to click post from Sales order Page.
Now I found D365BC could actually posted multiple Sales Orders one time by select multiple Sales Orders in Sales Order List Page. I guess it use Codeunit 1371, however, I 'm not sure how to use it. (Always missing some paramaters?) Does anyone know how to use it in AL to get same result as posting multiple Sales Orders in Sales Order List Page.

This GitHub repository is dedicated to handling issues with published apps and extensibility requests for the latest release of Business Central.
To get help on general questions please use one of the following resources:
Business Central Community
mibuso forum
Dynamics User Group


About the closed ISSUE #1472

About the ISSUE #1472
I know that http://bitsharesblocks.com can do this .
But , not everyone （the shareholders especially the Newbie ）will go to http://bitsharesblocks.com to see  this .
In general, the users (non IT people), the features is very important on the client , preset . The shareholder can intuitively understand the maximum amount of shares total supply and the changes (Persistent deflation), and that is the confidence of the value of the BitShares system.

Too low priority; this will not be done by core team for a long time if ever because too many other tasks. Community contributions are always welcome.


No template for running query

Hi
I've tried to run:
.\lpless test.linq
And I got
No template for running query.
It wasn't clear from the documentation what this error meant, so I did some debugging and discovered that lpless searches for .csproj and .cs files. So I created a template project at .\.lpless\templates\template with a file Main.cs. But lpless just executed this template program. I found that it tries to match something with regex inside this method, but in my case it wasn't able to find any matches, so program remained unchanged.
What am I missing here?

The architecture of LINQPadless has changed considerably with version 2, which is still un-released and what you're looking at in the master branch. I haven't had the time to publish a template and document how they work (though I am not far). If you're just looking to work with version 1, you'll find it in the 1.x branch or just use the 1.1.0 release.
LINQPadless 2 drops support for .NET Framework, which was not an easy decision but that's the direction of the platform. If you're fine with that then stay tuned and I'll drop a note here when a template has been published.
Meanwhile, nice to see you weren't afraid to dig in and poke around. I've attached a copy of the template as I have it worked right now if you want to play with version 2. You'll notice that the template isn't very straightforward, but that's because the signature for C#'s Main has gotten quite complicated over years:
     [ static ] ( void | int | Task | Task<int> ) Main([ string[] args ])

This gives 16 combinations, as can be seen from the table below:

Signature
Symbols

static void Main()
STATIC, VOID

static int Main()
STATIC,

static void Main(string[] args)
STATIC, VOID, ARGS

static int Main(string[] args)
STATIC, ARGS

static Task Main()
STATIC, VOID, TASK

static Task<int> Main()
STATIC, TASK

static Task Main(string[] args)
STATIC, VOID, TASK, ARGS

static Task<int> Main(string[] args)
STATIC, TASK, ARGS

void Main()
VOID

int Main()

void Main(string[] args)
VOID, ARGS

int Main(string[] args)
ARGS

Task Main()
VOID, TASK

Task<int> Main()
TASK

Task Main(string[] args)
VOID, TASK, ARGS

Task<int> Main(string[] args)
TASK, ARGS

Depending on the signature you used for a program query in LINQPad, LINQPadless defines conditional compilation symbols (right column) to drive and select the appropriate signature when fusing the template with your code.
You can use the same template project for all types of queries: expression, statements, program.
There are some place holders ({% … %}) that get replaced with the actual code from the source query. The main place holders are: expression, statements, program, program-types and imports.

📎 template.zip

It worked! The only change I had to make was adding <LangVersion>latest</LangVersion> to the .csproj file. That was necessary to allow usage of async Main.
Thanks a lot for sharing the template!

It worked!

Glad to hear and thanks for sharing your feedback. By the way, I'm publishing the template now to its repo.

The only change I had to make was adding <LangVersion>latest</LangVersion> to the .csproj file. That was necessary to allow usage of async Main.

Surprised to hear because that case should be covered without specifying the LangVersion element in the project file.

The only change I had to make was adding <LangVersion>latest</LangVersion> to the .csproj file. That was necessary to allow usage of async Main.

Surprised to hear because that case should be covered without specifying the LangVersion element in the project file.


Handling a recovery case that wasn't handled before

The PUT record related to a TTL update record may be cleaned up by compaction (due to a DELETE). In such a log, the previous code would crash because it expected a TTL update to necessarily have
a PUT in the index. This commit fixes that case

Codecov Report

Merging #986 into master will increase coverage by 0.01%.
The diff coverage is 93.75%.

@@             Coverage Diff             @@
##             master    #986      +/-   ##
===========================================
+ Coverage     67.89%   67.9%   +0.01%
- Complexity     4559    4565       +6
===========================================
  Files           377     377
  Lines         29350   29357       +7
  Branches       3709    3710       +1
===========================================
+ Hits          19927   19935       +8
  Misses         8396    8396
+ Partials       1027    1026       -1

Impacted Files
Coverage Δ
Complexity Δ

...n/java/com.github.ambry.store/PersistentIndex.java
91.84% <93.75%> (-0.2%)
192 <1> (+4)

.../main/java/com.github.ambry.store/HardDeleter.java
80% <0%> (-1.94%)
41% <0%> (-1%)

.../com.github.ambry.router/GetBlobInfoOperation.java
80.47% <0%> (-1.19%)
34% <0%> (-1%)

...github.ambry.rest/AsyncRequestResponseHandler.java
87.62% <0%> (-0.98%)
23% <0%> (ø)

...in/java/com.github.ambry.store/BlobStoreStats.java
69.92% <0%> (+0.23%)
80% <0%> (ø)
:arrow_down:

...ain/java/com.github.ambry.router/PutOperation.java
90.33% <0%> (+0.59%)
83% <0%> (+1%)
:arrow_up:

...b.ambry.network/BlockingChannelConnectionPool.java
65.65% <0%> (+3.04%)
8% <0%> (+1%)
:arrow_up:

...in/java/com.github.ambry.clustermap/Partition.java
88.6% <0%> (+3.79%)
26% <0%> (+1%)
: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 8e7d6ea...8bc300a. Read the comment docs.

Just the one comment. LGTM otherwise.

@pnarayanan Comment addressed


chore: ignore package-lock.json changes

This should reduce the number of releases.

Sounds good. I'll go through the list of files and update the PR.

I added some more


Added command to choose the theme

Steps are as follows:
Select Activate Cyanide Theme:

Select your theme:

Select color scheme according to the theme selected:

The theme and color scheme is set.

Seems like a good addition.
For some reason (which has nothing to do with your changes), travis CI complains... I'll look into it.
Meanwhile...
Could you please add notes on this change to the release notes for 3.0.2 as well as README.md where reasonable ?

Nice addition, thank you !
@Centril do you have access to travis CI? let me know if you need access


Fix invalid query for listing no tilesets

See https://app.clubhouse.io/cartoteam/story/137569

The check for NEWS update is failing:
  if git diff $(git merge-base $(git rev-parse HEAD) origin/master) --name-only | grep NEWS.md > /dev/null; then exit 0; else exit 1; fi
  shell: /bin/bash -e {0}
fatal: Not a valid object name origin/master
Error: Process completed with exit code 1.

What's going on here?


fonts/babestone-han: 11.0.2 -> 11.0.3

Motivation for this change
11.0.2 is not available anymore, new version is on the same download url.

@GrahamcOfBorg eval

@GrahamcOfBorg build babelstone-han

Success on x86_64-darwin (full log)
Attempted: babelstone-han
Partial log (click to expand)
copying path '/nix/store/ajbycyxy01xl24qfkfbly7gyrpnz7cwg-curl-7.60.0-dev' from 'https://cache.nixos.org'...
building '/nix/store/m2rlmxxh67yyqgmr49iv9h73iwcx6yyh-babelstone-han-11.0.3.drv'...

trying http://www.babelstone.co.uk/Fonts/Download/BabelStoneHan.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 14.0M  100 14.0M    0     0  15.4M      0 --:--:-- --:--:-- --:--:-- 15.4M
Archive:  /private/tmp/nix-build-babelstone-han-11.0.3.drv-0/file
  inflating: /nix/store/p3k5b9la8svmqgh9561az31g5pzyvr5f-babelstone-han-11.0.3/share/fonts/truetype/BabelStoneHan.ttf
/nix/store/p3k5b9la8svmqgh9561az31g5pzyvr5f-babelstone-han-11.0.3

Success on x86_64-linux (full log)
Attempted: babelstone-han
Partial log (click to expand)
  /nix/store/p5nr3j4rk92rbs0mw0vfqw762ks7ynrh-babelstone-han-11.0.3.drv
building '/nix/store/p5nr3j4rk92rbs0mw0vfqw762ks7ynrh-babelstone-han-11.0.3.drv'...

trying http://www.babelstone.co.uk/Fonts/Download/BabelStoneHan.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 14.0M  100 14.0M    0     0  9453k      0  0:00:01  0:00:01 --:--:-- 9453k
Archive:  /build/file
  inflating: /nix/store/p3k5b9la8svmqgh9561az31g5pzyvr5f-babelstone-han-11.0.3/share/fonts/truetype/BabelStoneHan.ttf
/nix/store/p3k5b9la8svmqgh9561az31g5pzyvr5f-babelstone-han-11.0.3

Success on aarch64-linux (full log)
Attempted: babelstone-han
Partial log (click to expand)
  /nix/store/mvsmh9d96xmyzmmv4m21kilrmzgcna2n-babelstone-han-11.0.3.drv
building '/nix/store/mvsmh9d96xmyzmmv4m21kilrmzgcna2n-babelstone-han-11.0.3.drv'...

trying http://www.babelstone.co.uk/Fonts/Download/BabelStoneHan.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 14.0M  100 14.0M    0     0  10.0M      0  0:00:01  0:00:01 --:--:-- 10.0M
Archive:  /build/file
  inflating: /nix/store/p3k5b9la8svmqgh9561az31g5pzyvr5f-babelstone-han-11.0.3/share/fonts/truetype/BabelStoneHan.ttf
/nix/store/p3k5b9la8svmqgh9561az31g5pzyvr5f-babelstone-han-11.0.3

Fixed typo in title for searchability. Same typo in commit message, not worth fixing.


Add building the manual to cmake

Also raise cmake_minimum_required to 3.18 for the LibXslt::xsltproc target.

If the raised minimum cmake version is a problem, I could easily replace LibXslt::xsltproc with LIBXSLT_XSLTPROC_EXECUTABLE


Add MyPy type checking to our CI process

Description
Add Mypy type checking to our CI process.
Motivation and Context
As we are adding type annotation in our code base, it is nice to use them not just for understanding, but to actually type check our code. This shouldn't add any runtime overhead, only when we are actually running the type checker. This also prevents us for adding misleading annotations by mistake, since the annotations we add will actually be checked.
This PR takes the approach recommended in the mypy docs for existing code bases.

If your codebase is large, pick a subset of your codebase (say, 5,000 to 50,000 lines) and run mypy only on this subset at first, without any annotations. This shouldn’t take more than a day or two to implement, so you start enjoying benefits soon.

The files we are running mypy on are defined in pyproject.toml. This PR runs the type checker on:

core/config.py
core/entrypoint.py
core/mirror.py
core/model
core/python_expression_dsl
core/s3.py
core/util
tests/core/models
tests/core/python_expression_dsl
tests/core/test_mirror_uploader.py
tests/core/test_s3.py
tests/core/util

It added annotations where necessary to get the checker to run, and corrected annotations where they were incorrect.
In the python_expression_dsl code, I converted the older python 2 style doc comments with types to be actual type annotations, and removed the old comments, so they wouldn't get out of sync with the annotations.
In the core/model/hassessioncache.py I modified the type annotations to better reflect whats going on in the code. Originally the type annotations were using a protocol, but this code is actually better suited to be typed as a generic.
How Has This Been Tested?
Testing has been confined to running the type checker and running the unit tests.

This brings me joy. :rocket:


Cannot Differentiate Slides [resolved]

I'm using jQuery 1.7.2 in conjunction with the latest Slide library. It's not differentiating the slides. I've tried it by specifying the slides using the slide parameter, and  even using ul and li elements, and it doesn't tell them apart. It just puts every slide into one slide which is flung so far off the left edge of the screen I have to zoom my browser all the way out to see it, and it still gets clipped. The latter I'm sure is a CSS issue I can probably resolve, but it refuses to even acknowledge there are multiple slides. This renders it completely unable to be used.

Found an issue with my syntax the IDE did not catch.


How to implement Image-based 3D object detection？can you share your code？

How to implement Image-based 3D object detection？can you share your code？
do i need to convert images to clip features？

Hi @YuerGu
It is very straightforward. As you said, you need to convert images to the corresponding CLIP features, and then do exactly the same as text-based tasks, i.e. compute the cosine similarity between the CLIP image features with the point features.
Best
Songyou


fix: exclude config from default output in gateway-cli info rpc

This PR addresses the feedback from issue #4365 by modifying the gateway-cli info command to exclude the config section from the default output.
Changes:

The config section is now hidden by default to prevent information overload and enhance the command's usability.
Users can still view the config details by using an --include-config

This will unfortunately break backwards compatibility. To maintain backwards compatibility, you will need to change the include_config flag to be exclude_config so that by default the config is included. This way, old clients can continue to make the RPC as they did before, but new clients can add the exclude_config flag to have a more readable output.
The devimint tests will need to be updated. Then after a major release, we can invert the flag (or remove it entirely) so that its excluded by default.

@m1sterc001guy, done. I updated the flag from include_config to exclude_config, but it seems that the job for backwards-compatibility is still failing

We need to get to the bottom of the backwards compatibility failures. Is there a default value for exclude_config? If there's no default value, I would assume that old CLI versions will fail since they do no understand the exclude_config flag.

BTW. Probably good idea to make this controlled via env var (optionally), so in scritpts and for backward compat it can be set once for all invocations.

old CLI versions will fail since they do no understand the exclude_config flag.

Old clients won't send the exclude flag, so new servers need a default. New clients may send the exclude flag, but old servers should ignore it due to JSON.

The exclude_config parameter now defaults to true and is optional. However, the backward compatibility job is still failing. I'm not sure if this is related or not

Try rebasing and let's re-run the tests and see if it is still broken

Try rebasing and let's re-run the tests and see if it is still broken

Done

Somewhere in the tests we assume that the config field is present, needs to be changed for this PR. https://github.com/fedimint/fedimint/actions/runs/9142510136/job/25229423380?pr=5070#step:9:250

Superceding with https://github.com/fedimint/fedimint/pull/5803


Signomial Programming!

...as per discussion with @whoburg and @cjk12.
It's as though Santa Claus, the easter bunny, and the tooth fairy jointly raised a child and called it signomial programming and then, when it was mature enough to be a competent member of society, dropped it off at the MIT Convex Optimization Group's front door.

Ha, great ticket.
Here's a specific idea to get started: how hard/nice/elegant/impractical/etc would it be to create the Signomial class, and have Posynomial inherit from it?

Background reading:
section 9.1 of this paper: http://stanford.edu/~boyd/papers/pdf/gp_tutorial.pdf
slides 25 and 26 of this lecture: http://stanford.edu/class/ee364b/lectures/seq_slides.pdf

I think this might make ned cry given that posynomial is such a fundamental building block of the code at the moment...but surely Posynomial'' should inherit from Signomial'' not the other way around. This would be consistent with the current hierarchy between Posynomial'' and Monomial'' (the latter inherits from the former).
Disclaimer: I cannot claim to know nearly enough about how this would affect everything else and I'm sure it would.

Hehe. Wellll, there's no reason not to just implement Signomial as a Posynomial with some cs less than 0, right? There's actually already an "allow_negative" flag in Posynomial that does this.

(or vice versa, make Posynomial be a Signomial with "positive_only=True".

(note mostly to self) Hmm, let's make the monomial approximation m of posynomial 1+p(x) at x_k:
d ln(1+p(x))/d ln(x_i) = d p(x)/dx_i  * x_i * 1/(1+p) at x_k
=> m = (prod x_i^(x_i * d p(x)/dx_i at x_k))^(1/1+p(x_k))

We could also accept arbitrary nonconvex functions, as long as they gave us their local monomial.
Could we get trust regions automatically for posynomials in a nice way? Perhaps by thresholding the ratio of their derivatives?

We can threshold x such that (1+p)/m >= c1 \forall x in X. Conservatively this would just involve holding each value constant and solving for the root (polynomial root-finding n times, where n is the length of x; use newton and take advantage of a posynomial diff function).
Since dp/dm is also a posynomial, we can easily do the same for dp/dm >= c2. This gives us two thresholds to set per constraint; experimentation will be needed to determine reasonable defaults. So far it seems that a threshold of c1 = 1 (which is conservative) and c2 = 1.5 are reasonable starting points.

@whoburg: what's the priority of this? Definitely possible to implement, but it's not convex...

@bqpd I have a large number of uses for this.  I don't want to set priorities, but I'd vote for this very enthusiastically to happen soonish.

@cjk12: It's not going to be convex, so you won't be guaranteed to be at a local optimum. You'll have to set some threshold values for each signomial constraint, and their value might change the solution or how long it takes to run. I'm worried about it being kinda obnoxious to use.

Would the plan be for automatically detecting the log-convex regions? And then return a nice sweep with each of the regions at their optimum? (Which is perhaps not really that useful...)

I'm willing to be shown I'm wrong, but I just sketched out an easy way to convert any signomial programming problem directly to a 'difference-of-convex' programming problem. This implies that we do not need any trust regions, and the process will still converge. (The result would still only be locally optimal though, unlike the globally optimal answers for a GP).
@bqpd - we should talk about this -- I can write up a short document showing how it would work -- it's slightly different than the formulation given in the gptutorial paper.

@raddy - re: automatically detecting log-convex regions, this ticket isn't quite directed at exactly that, but wanted to point you to a working paper we have on automatically fitting GP models to log-convex data: http://web.mit.edu/~whoburg/www/papers/gp_fitting.pdf. It might be of interest.
We're also developing the software package to go along with the paper -- still under active development, to be released later this spring: https://github.com/convexopt/gpfit

@bqpd, I prefer the option for Posynomial to inherit from Signomial (and just set positive_only=True). Makes more mathematical sense than inheriting the other way around.

Making a simple use case here: https://github.com/convexopt/gpkit/issues/176

@whoburg: Posynomial now inherits from Signomial.

Latest commit implements Signomial solving; please break it!

The only thing we discussed that's not implemented is allowing the zeroing of particular monomial terms for the solver's starting position.

Closing this issue; open new issues for specific bugs?


Database dependency?

I wasn't able to load the dev environment on my localhost. Is there a database dependency needed first? See console errors.

Hi @sinisterkid,
That's all scaffolding from the Remix template I used. You should be able to assign or remove the string. Prisma is a data provider that I don't use in this project.
I will try removing unused boilerplate code in an upcoming push.

@sinisterkid The dependency to Prisma has been removed, feel free to run npm run dev after you've pulled latest.

It works, thanks! Very helpful.


Migrate to androidx

Migrated from Support libraries to AndroidX libraries as part of Jetpack suite. Going forward (bayond API level 28) development on Support libraries will stop.
Updated target Sdk to 29 (Q beta) and min Sdk to  21 which allows for faster build times.

Sorry, I messed up my fork with mistake on my side, made new clean PR #62.


json: cannot unmarshal number into Go struct field QueryModel.queryType of type string

Describe the bug
We recently upgraded from 4.1.2 to 4.2.4, and one of our users noticed that Zabbix panel alerts were not firing correctly. It's producing an error from the plugin:
request handler response error {could not read query: json: cannot unmarshal number into Go struct field QueryModel.queryType of type string  A <nil> [] [] 0xc004b53740}
Expected behavior
No Go error to be thrown from the plugin
Screenshots
If applicable, add screenshots to help explain your problem.
Network data
If it's related to metric data visualization would be great to get the raw query and response for the network request (check this in browser dev tools network tab, there you can see metric requests, please include the request body and request response)
Software versions

Grafana
Zabbix
Grafana-Zabbix Plugin

8.2.3
4.0.30
4.2.4

It seems like the related difference between these versions is that query types (or modes) used to be numbers, but were converted to strings.
If I check the dashboard json, indeed the panels still have numbers in queryType. The panel json inspector shows a string type, though. If the expectation is that we edit each panel to apply the migration, I suppose there's no issue here. But maybe there's an improvement here if the backend is supposed to handle the change passively, or if it should throw a better error that explains that a migration edit is necessary

Hi! Yes, looks like the panel format is outdated. But I agree, it's might be handled on the backend (by using interface{} type and doing type cast).

Any known workaround?


feature: API Definition

Resolves #6
Description
Closes the API Definition ticket #6
Definition of Done

[ x] Acceptance Criteria is fulfilled
[x ] Changes and issues encountered are documented
[ x] Github issue is linked in this PR

Everything looks good for the API definition
Could you explain I you comment the DB integration ?

Everything looks good for the API definition
Could you explain I you comment the DB integration ?

Hi, it's just for not breaking the execution when running dev:start command, for now that we are using a mocked connection string


Update includes to support foreign key relations

This fleshes out https://github.com/google/python-spanner-orm/pull/87 to add initial support for foreign keys.

@akefeli, can you please take another look? I ended up making a good amount of changes after your first approval.

@akefeli, can you please take another look? I ended up making a good amount of changes after your first approval.


New instance per dependency strategy added for type registration

@gasparnagy
BoDi currently does not allow to change a strategy of resolving objects. I am currently working on 2 projects that is using SpecFlow with BoDi and I have a problem when I was to have a class with isolated state. It is impossible without the disposal of current ObjectContainer and/or using a different IoC container.
I have added a new strategy which will create a new instance each time Resolve function is executed on ObjectCointainer.
Usage:
container.RegisterTypeAs<SimpleClassWithDefaultCtor, IInterface1>().InstancePerDependency();

var obj1 = (SimpleClassWithDefaultCtor) container.Resolve<IInterface1>();
var obj2 = (SimpleClassWithDefaultCtor) container.Resolve<IInterface1>();
Assert.AreNotSame(obj1, obj2);

Please add also usage to RegisterFactporyAs

I have also added a strategy for factory registration.
Here is an example:
`
container.RegisterFactoryAs(() => new SimpleClassWithDefaultCtor()).InstancePerRequest();
        var obj1 = (SimpleClassWithDefaultCtor)container.Resolve<IInterface1>();
        var obj2 = (SimpleClassWithDefaultCtor)container.Resolve<IInterface1>();
        Assert.AreNotSame(obj1, obj2);

`

Could you please also add a line about this change to the bodi.cs header (change history)?


Rainforests: fix for deterministic usage

An error was encountered using apply_rainforests_calibration on deterministic models. The source of the error was that the realization dimension was dropped when converting error_probability_cube into error_percentiles_cube using ConvertProbabilitiesToPercentiles. This PR adds a small fix to ensure the realization dim coord is restored after being demoted in the convserion.
Tests are also added to test this case and use of the process function using deterministic inputs.
Testing:

[x] Ran tests and they passed OK
[x] Added new tests for the new feature(s)

Thanks @tjtg for the review.


EntityComponent to retry platforms that are not ready yet

Description:
This adds support for the entity component to retry setup of platforms that are not ready yet.

Introduces a new exception PlatformNotReady that platforms can raise to opt-in for the built-in retry logic.
EntityComponent catches this exception and will automatically retry the platform setup up to 10 times. Time between retries is 5, 10, 15, 20, 25 and 30 seconds after each retry after that.

Related issue (if applicable): fixes #4937
Checklist:
If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] Tests have been added to verify that the new code works.

I think we should back off to some longer interval (5 to 30 minutes), then retry perpetually. Especially if this is going to be opt-in by platforms. The big use-case is platforms that aren't available 24/7, and require a restart to pick up. If hass is only retrying for a short window after start up, this doesn't really fix it. The big concern is that as soon as you have more than one platform that has to be online during start up, it becomes trickier to find a window where everything is online and you can successfully start up.


Issue with logging in

Hey im having an Issue when i try to login to the local host its giving me
INVALID_CLIENT: Invalid client error

The app is probably unable to access the .env file.  Another user also reported this issue to me a couple of months ago. In this case, a simple fix would be to set up the Spotify configuration directly in the config file.
All you have to do is replace the values of clientID and clientSecret with your actual values here instead of doing it in the .env file: https://github.com/sandarshsridhar/wiz-spotify-connected/blob/main/src/configs/spotify-config.ts#L6-L7
    clientId: 'YOUR_ACTUAL_CLIENT_ID',
    clientSecret: 'YOUR_ACTUAL_CLIENT_SECRET'

Lemme know if this works for you.

thanks it worked perfectly!, i have a few thoughts about it, The delay is noticeable but ig that's the limitations or working with such bulbs and then Colors not switching quickly enough even in party mode!,
Loved It eitherway great work!

Great! I have only noticed the delay in the newer bulbs (Oct 21 and later). Because I have around 24 bulbs, 22 of which are from before Oct 21 and they sync to signals sent by the app seamlessly and super quickly. But the other 2 tend to be a bit sluggish and behave as though they are playing a catch-up game. There must have been some changes in the components of these bulbs because I see the delay even from the Wiz (both v1 and v2) app. I hope they fix the issue in the newer batches.
Anyway, I am glad the fix worked for you.


Search megamenu

Closes https://github.com/inventree/InvenTree/issues/2384

Screenshots (Work in Progress)

Looking much nicer now:

And, users can control what results they see:


changed QS icon; edited wording to match other quickstarts

Updated first quickstart:

icon is now a rocketship as instructed by the Patternfly template
edited some wording in 1st step to reflect wording discussed/approved by SMEs in future quickstarts that are in draft form.

@Hyperkid123 please merge if this looks OK to you :) Thank you!

@Hyperkid123 - one issue - the bold text doesn't render for me in the preview tool (https://quickstarts-content-preview.surge.sh/) but I think I did it correctly. Did I miss anything? Can also wait until it's merged to see if it renders properly...

/ok-to-test

@Hyperkid123 I think all should be ready now - I replaced the book icon for the time being. :)

/retest


License?

I would like to import this script into my project.
So I would appreciate it if you could set proper license. 🙇
Forked and modified project:
https://github.com/eggplants/y2m

sure, let me do my research on the license types :)

Thanks!


Export metrics in prometheus format

Checklist

[x] I tested all changes and all related features with different users (student, tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.

Motivation and Context
Spring collects several metrics, including cache performance, http performance and system health.
These metrics are displayed in the Metrics Tab of both Artemis and the Jhipster Registry.
As we now increasingly use external monitoring systems, we also want to publish insights into the Artemis application to these systems.
This PR adds additional metrics (Health status and User count) to the prometheus endpoint and adds an configuration option to specify the ip address of the monitoring system, that should be allowed to access these metrics.
Description
Due to Spring not exporting the Health status for the individual indicators (See https://github.com/micrometer-metrics/micrometer/issues/416 and https://github.com/spring-projects/spring-boot/issues/14087), I've added these metrics manually using a micrometer Gauge.
The current user count and the status of the system will then be published, alongside the 'normal' metrics like http request time, cpu usage, etc and can be collected by Prometheus.
To allow only the monitoring system to access these metrics, a new configuration option spring.prometheus.monitoringIp is added (defaulting to <IP_ADDRESS>), that must equal the IP address of the monitoring system (that is used to access the Prometheus endpoint).
Steps for Testing (locally)

Change the config value management.metrics.export.prometheus.enabled to true.

If necessary, adjust the value of spring.prometheus.monitoringIp to match the IP address used to access Artemis.

Navigate to ARTEMIS_IP:8080/management/prometheus (where ARTEMIS_IP is <IP_ADDRESS> when using the same device) and verify that something like this is shown:

Change to config value of spring.prometheus.monitoringIp to a different ip address & reboot Artemis.

Verify that the metrics can not be accessed anymore:

@kloessst Thanks for your review, I've addresses the mentioned points and also added some more documentation.
Would be great if you could re-review!


Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

Changes Unknown when pulling 23b145e7bf67a358b3cb894ea0793984b65ecab5 on analysis-86AVg6 into ** on feature/micropub-refactor**.