Auto detect native external warm transfer within conference feature

Summary
Basically this removes the add_button setting and replaces it with an automatic detection of the native external warm transfer feature.
Checklist

[x] Tested changes end to end
[x] Any config changes added to all environment files
[x] Completed README template for new features
[x] Added PR Label "ready-for-review"
[x] Requested one or more reviewers for the PR

if im understanding this correctly - when xwt is enabled OOTB this feature addresses some bugs? Are there open bugs raised with xwt? - or would the ability for the caller to hang up without ending the conference and the ability to kick the customer participant not being considered as bugs?

The native xwt feature does have several bugs, and my understanding based on the doc I sent via Slack is that the endConferenceOnExit-related gap filled by this feature should be filled by the time it is public. However, I don't believe adding a button to kick the customer is part of that, so this would still fill that gap. However, we may want to adjust this feature to disable completely if the native feature is enabled, once the native feature is more stable.


Joint Information

Will the joint information also be provided? I mean, (x, y, z) coordinates of each joint.

Hi,
Sorry for the late reply.
Due to data protection and privacy issues, the coordinates are now included in the dataset.


docs: contributing: VSCode

I do think that since this is getting specific into the VSCode editor that we might benifit from creating a page specificlly for editors and how to configure them to work on DFFML, Perhaps creating a page like docs/contributing/editors/index.rst which links to docs/contributing/editors/vscode.rst where we put this information.

Awesome!! Thank you! :D


Templated base class : Cannot find symbol class ActivityType in LightCycleBinder

Hello,
I'm trying to reproduce the same behavior as LightCycleAppCompatActivity in a BaseActivity, so I implemented LightCycleDispatcher<ActivityLightCycle<T>> in my base class and dispatch event in each lifecycle callback.
My base class prototype :
public abstract class BaseActivity<ActivityType extends BaseActivity> extends AppCompatActivity
    implements LightCycleDispatcher<ActivityLightCycle<ActivityType>>

which is the same as LightCycleAppCompatActivity :
public abstract class LightCycleAppCompatActivity<ActivityType extends LightCycleAppCompatActivity>
        extends AppCompatActivity
        implements LightCycleDispatcher<ActivityLightCycle<ActivityType>>

The issue is when I use my base class LightCycleBinder cannot resolve the type of my child activity and generate this code below :
public final class MainActivity$LightCycleBinder {
  public static void bind(MainActivity target) {
    final com.soundcloud.lightcycle.ActivityLightCycle<ActivityType> mPresenter$Lifted = com.soundcloud.lightcycle.LightCycles.lift(target.mPresenter);
    target.bind(mPresenter$Lifted);
  }
}

But when my MainActivity extends directly LightCycleAppCompatActivity the type is revolved :
public final class MainActivity$LightCycleBinder {
  public static void bind(MainActivity target) {
    final com.soundcloud.lightcycle.ActivityLightCycle<MainActivity> mPresenter$Lifted = com.soundcloud.lightcycle.LightCycles.lift(target.mPresenter);
    target.bind(mPresenter$Lifted);
  }
}

I tried to create another base class with exactly the same code contain in LightCycleAppCompatActivity but it still doesn't work, it's seems to work only with LightCycleAppCompatActivity.
It's there any way to make it work using my BaseActivity class

@MehdiChouag Do you have LightCycles declared in your templated  BaseActivity ?
If  yes, then you would have to declare you would have to do something like :
public class BaseActivity extends MyDispatcherActivity<BaseActivity> {

The problem is that because of the way annotation processors work, the binder failed to determine what is the actual type of the activity (it just took the template name, i.e. ActivityType).
Does it make sense ?

@glung By saying "Do you have LightCycles declared in your templated BaseActivity ?" are you talking about calling this method LightCycles.bind(this) in my BaseActivity ? If this is your question the answer is yes.
So to make it work I should make my BaseActivity extends LightCycleAppCompatActivity like this ?
public abstract class BaseActivity extends LightCycleAppCompatActivity<BaseActivity>

If I use the solution above my child presenter will have an instance of BaseActivity.
So my MainActivity would be declared this way :
public class MainActivity extends BaseActivity

And my MainActivity's presenter :
public class MainPresenter extends DefaultActivityLightCycle<BaseActivity>

But I would like my presenter receive MainActivity in the lifecycle callbacks like this :
public class MainPresenter extends DefaultActivityLightCycle<MainActivity>

Is there any solution possible to make it work this way ?

Can you send me your original solution (with the compiling issue), please ? I will be easier actually.

@glung Here is the full implementation of my original solution.
My BaseActivity :
/**
 * Base {@link android.support.v7.app.AppCompatActivity} class for every Activity in this
 * application.
 *
 * Implement {@link OnAccountsUpdateListener} to detect whenever Account change on the device.
 */
public abstract class BaseActivity<T extends BaseActivity> extends AppCompatActivity
    implements LightCycleDispatcher<ActivityLightCycle<T>>, OnAccountsUpdateListener,
    AccountManagerCallback<Bundle> {

  public static final String EXTRA_IS_ACCOUNT_NEEDED = "com.edenbeat.view.activities.EXTRA_IS_ACCOUNT_NEEDED";

  private final ActivityLightCycleDispatcher<T> mLightCycleDispatcher;

  @Bind(R.id.toolbar) protected Toolbar mToolbar;

  protected AccountManager mAccountManager;

  private boolean mIsAccountEnable;

  /**
   * Default Constructor.
   */
  public BaseActivity() {
    mLightCycleDispatcher = new ActivityLightCycleDispatcher<>();
  }

  @Override
  public void bind(ActivityLightCycle<T> lightCycle) {
    mLightCycleDispatcher.bind(lightCycle);
  }

  @DebugLog
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(getLayoutResources());

    initializeInjector();

    ButterKnife.bind(this);
    LightCycles.bind(this);

    init();

    mAccountManager = mIsAccountEnable ? AccountManager.get(this) : null;
    mLightCycleDispatcher.onCreate(activity(), savedInstanceState);
  }

  /**
   * Default implementation sets Toolbar as support ActionBar.
   */
  @SuppressWarnings("unused")
  protected void initToolbar() {
    if (mToolbar != null) {
      setSupportActionBar(mToolbar);
    }
  }

  /**
   * Init with data getting from {@link Intent}
   */
  private void init() {
    final Intent intent = getIntent();

    mIsAccountEnable = intent.getBooleanExtra(EXTRA_IS_ACCOUNT_NEEDED, true);
  }

  /**
   * Initialize Dagger's injector.
   */
  protected void initializeInjector() {
    /* no-op */
  }

  /**
   * Callback triggered when the
   * {@link com.edenbeat.account.AccountAuthenticator#addAccount(android.accounts.AccountAuthenticatorResponse,
   * String, String, String[], Bundle)} finish.
   *
   * @param future contains a Bundle with account information.
   */
  @Override
  public void run(AccountManagerFuture<Bundle> future) {
    try {
      final Bundle bundle = future.getResult();
      final Intent intent = bundle.getParcelable(AccountManager.KEY_INTENT);
      startActivity(intent);
      finish();
    } catch (OperationCanceledException | IOException | AuthenticatorException e) {
      e.printStackTrace();
    }
  }

  @Override
  protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    mLightCycleDispatcher.onNewIntent(activity(), intent);
  }

  @Override
  protected void onStart() {
    super.onStart();
    mLightCycleDispatcher.onStart(activity());
  }

  /**
   * Register to Account update.
   */
  @Override
  protected void onResume() {
    super.onResume();
    mLightCycleDispatcher.onResume(activity());
    if (mIsAccountEnable) {
      mAccountManager.addOnAccountsUpdatedListener(this, null, true);
    }
  }

  /**
   * Unregister to Account update.
   */
  @Override
  protected void onPause() {
    mLightCycleDispatcher.onPause(activity());
    super.onPause();
    if (mIsAccountEnable) {
      mAccountManager.removeOnAccountsUpdatedListener(this);
    }
  }

  @Override
  protected void onStop() {
    mLightCycleDispatcher.onStart(activity());
    super.onStop();
  }

  @Override
  protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    mLightCycleDispatcher.onSaveInstanceState(activity(), outState);
  }

  @Override
  protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    mLightCycleDispatcher.onRestoreInstanceState(activity(), savedInstanceState);
  }

  /**
   * Release Account Manager.
   */
  @Override
  protected void onDestroy() {
    mLightCycleDispatcher.onDestroy(activity());
    super.onDestroy();
    mAccountManager = null;
  }

  /**
   * Callback trigger when the Accounts on the device change.
   * If the EdenBeat Account doesn't exist, that
   * launch will {@link com.edenbeat.onboarding.AuthenticatorActivity}
   *
   * @param accounts Array of accounts present on the device.
   */
  @Override
  public void onAccountsUpdated(Account[] accounts) {
    if (!AccountUtils.isAccountExist(AccountConstants.ACCOUNT_TYPE, accounts)) {
      if (BuildConfig.DEBUG) {
        Timber.d("onAccountsUpdate triggered");
      }
      mAccountManager.addAccount(AccountConstants.ACCOUNT_TYPE, AccountConstants.AUTHTOKEN_TYPE,
                                 null, null, null, this, null);
    }
  }

  /**
   * Get the Activity Layout to inflate.
   *
   * @return {@link com.edenbeat.R.layout}
   */
  @LayoutRes
  protected abstract int getLayoutResources();

  /**
   * Get the Main Application component for dependency injection.
   *
   * @return {@link ApplicationComponent}
   */
  protected ApplicationComponent getApplicationComponent() {
    return EBApplication.get(this)
        .getApplicationComponent();
  }

  /**
   * Get the Application scoped component for dependency injection.
   *
   * @return {@link ActivityComponent}
   */
  protected ActivityComponent getActivityComponent() {
    return getApplicationComponent().plus(getActivityModule());
  }

  /**
   * Get an Activity module for dependency injection.
   *
   * @return {@link ActivityModule}
   */
  protected ActivityModule getActivityModule() {
    return new ActivityModule(this);
  }

  @SuppressWarnings("unchecked")
  private T activity() {
    return (T) this;
  }

My child activity :
/**
 * Search music or artist activity
 */
public class SearchActivity extends BaseActivity<SearchActivity>
    implements com.edenbeat.search.SearchView, SearchView.OnQueryTextListener {

  @Inject @LightCycle SearchPresenter mPresenter;

  /**
   * Create the activity intent
   *
   * @param context needed to instantiate an {@link Intent}
   * @return {@link Intent}
   */
  @NonNull
  public static Intent createIntent(@NonNull Context context) {
    return new Intent(context, SearchActivity.class);
  }

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    final ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
      actionBar.setDisplayHomeAsUpEnabled(true);
    }
  }

  @Override
  protected void initializeInjector() {
    getSearchComponent().inject(this);
    mPresenter.setView(this);
  }

  @Override
  protected int getLayoutResources() {
    return R.layout.activity_search;
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.search, menu);

    // Associate searchable configuration with the SearchView
    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView = (SearchView) menu.findItem(R.id.action_search)
        .getActionView();
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    searchView.setOnQueryTextListener(this);
    searchView.setIconified(false);

    return true;
  }

  @Override
  public boolean onQueryTextSubmit(String query) {
    mPresenter.startSearch(query);
    return true;
  }

  @Override
  public boolean onQueryTextChange(String newText) {
    mPresenter.startSearch(newText);
    return true;
  }

  @Override
  public void showLoadingView() {

  }

  @Override
  public void hideLoadingView() {

  }

  @Override
  public void showRetry() {

  }

  @Override
  public void hideRetry() {

  }

  @Override
  public void showError(@NonNull String message) {

  }

  @Override
  public void displaySearchResult(List<SearchResult> responses) {

  }

  @NonNull
  @Override
  public Context getViewContext() {
    return getApplicationContext();
  }

  private SearchComponent getSearchComponent() {
    return getApplicationComponent().plus(new SearchModule());
  }
}

My child presenter :
/**
 * {@link com.edenbeat.base.Presenter} that controls communication between views and models of the
 * presentation
 * layer of the search.
 */
public class SearchPresenter extends DefaultActivityLightCycle<SearchActivity>
    implements Presenter<SearchView> {

  private UseCase mUseCase;
  private SearchErrorMessage mErrorMessage;
  private ErrorConverter mErrorConverter;

  private SearchView mView;

  /**
   *
   * @param useCase Interactor representing search use case.
   * @param errorConverter Used to getting error message.
   * @param searchErrorMessage Used to get an error message depending the exception threw.
   */
  @Inject
  public SearchPresenter(@Named("search") UseCase useCase,
      @Named("ApiConverter") ErrorConverter errorConverter, SearchErrorMessage searchErrorMessage) {
    mUseCase = useCase;
    mErrorConverter = errorConverter;
    mErrorMessage = searchErrorMessage;
  }

  /**
   * Start the search using query parameter.
   *
   * @param query Research query
   */
  @SuppressWarnings("unchecked")
  public void startSearch(String query) {
    final Subscriber subscriber = getSubscriber();
    mUseCase.execute(subscriber, query);
  }

  @Override
  public void onCreate(SearchActivity activity, Bundle bundle) {
    super.onCreate(activity, bundle);
    Timber.d("OnCreate called");
  }

  @Override
  public void onDestroy(SearchActivity activity) {
    super.onDestroy(activity);
    mUseCase.unsubscribe();
  }

  @Override
  public void setView(@NonNull SearchView view) {
    mView = view;
  }

  private SearchSubscriber getSubscriber() {
    return new SearchSubscriber(mView.getViewContext(), mErrorMessage, mErrorConverter);
  }

  private final class SearchSubscriber extends DefaultSubscriber<List<SearchResult>> {

    public SearchSubscriber(@NonNull Context context, @NonNull AbstractErrorMessage errorMessage,
        @NonNull ErrorConverter errorConverter) {
      super(context, errorMessage, errorConverter);
    }

    @Override
    public void onCompleted() {
      Timber.d("onComplete");
    }

    @Override
    public void onError(@NonNull Exception e) {
      mView.showError(e.getMessage());
      Timber.d(e.getMessage());
    }

    @Override
    public void onNext(List<SearchResult> results) {
      Timber.d(String.valueOf(results.size()));
      mView.displaySearchResult(results);
    }
  }
}

The error returned by the compiler :
/Users/mehdichouag/github/EdenBeat-Android/presentation/build/generated/source/apt/debug/com/edenbeat/search/SearchActivity$LightCycleBinder.java:5: error: cannot find symbol
    final com.soundcloud.lightcycle.ActivityLightCycle<T> mPresenter$Lifted = com.soundcloud.lightcycle.LightCycles.lift(target.mPresenter);
                                                       ^
  symbol:   class T

And the generated class Binder
public final class SearchActivity$LightCycleBinder {
  public static void bind(SearchActivity target) {
    final com.soundcloud.lightcycle.ActivityLightCycle<T> mPresenter$Lifted = com.soundcloud.lightcycle.LightCycles.lift(target.mPresenter);
    target.bind(mPresenter$Lifted);
  }
}

@glung Did you figured out how I can resolve this problem ?

Hello @MehdiChouag, I just took a look.
You spotted a weakness, we should at least update the documentation. Long story short, you should set the type explicitly, i.e. make your SearchActivity implements LightCycleDispatcher<ActivityLightCycle<SearchActivity>>.
Note : You could also make your BaseActivity implements LightCycleDispatcher<ActivityLightCycle<BaseActivity>> but then the SearchPresenter won't accept SearchActibity.
This is because of the Processor not beeing able to determine the dispatched type because it did not recognize your BaseActivity. As of now, it only recognizes the following https://github.com/soundcloud/lightcycle/blob/e3844cc90de9302de2146a6c1d0a35a8fbadae37/lightcycle-processor/src/main/java/com/soundcloud/lightcycle/LightCycleDispatcherKind.java#L5-L5

I had the same problem. The documentation about using a dispatcher is not "clear" at all.

@cesards thx for the feedback (I will update it asap).
If you have some feedback, could you take some time to add it to the v2 discussion, please ?
https://github.com/soundcloud/lightcycle/issues/48
@michaelengland I think this conversation here is interesting for you too.

@cesards does it make sense ? https://github.com/soundcloud/lightcycle/commits/master
If no, I encourage you to either create a PR or provide details here.  Thx !

Thanks for the fast response! I commented the commit. BTW I still owe you a response for this but I wanted to explain in details what I think the is missing in the library. I think it's a good step to have the code maintainable. If you are working in a second version. Let me know if you need help. It's a library it's worth contributing on, and even if I know some concepts about how an annotation processor works behind the scenes, it'd be a good change about getting into it :-D

This is the same problem I had, hence adding the base classes. I'm currently working on a fair number of changes that we needed/wanted and the PR will be coming up shortly. In the changes I've done, it currently removes the logic around lifting, which is causing the problems here.

👍

@michaelengland The pb here is that the processor does not understand the real type. If you remove type lifting (Dispatcher, capable of dispatching  when B extends A), SoundCloud won't be able to use LC anymore. So it will have to be a fork.

@glung Oh sure, I think we should bring it back in, but until now it was pretty coupled to the processor & the binding, so I've removed it during the work I was doing and maybe we can come up with an abstraction around it. I'll create the PR in the next week or so when I've got somewhere, and let's chat from there 👍

From the documentation I understand that https://github.com/soundcloud/lightcycle/blob/master/lightcycle-lib/src/main/java/com/soundcloud/lightcycle/LightCycleActionBarActivity.java is an example of an inheritable LightCycleDispatcher Activity, but it uses exactly what cause problem here right ?
I followed the example and got the same build error.


feat(Streaming identity debugger) - Added graph that shows stream of identities being requested

Thanks for submitting a PR! Please check the boxes below:

[X] I have added information to docs/ if required so people know about the feature!
[ X] I have filled in the "Changes" section below?
[ X] I have filled in the "How did you test this code" section below?
[X] I have used a Conventional Commit title for this Pull Request

Changes
Added react chart to frontend/package.json
Added Link to home aside bar that links to streaming identity debugger page.
Please describe.
How did you test this code?
We would request identities and then see when it would update on the bar graph we made

Please describe.

This code has an API key in plain text - please destroy this PR ASAP and resubmit


Intended usage when setting up your own Activity on Android.

I'm integrating Unity + Google Cardboard as an activity launched as part of an existing android application. Everything appears to be working fine however I noted some errors in the logs:
I/Unity   ( 2928): Creating Cardboard object
I/Unity   ( 2928):
I/Unity   ( 2928): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
I/Unity   ( 2928):
I/Unity   ( 2928): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
I/Unity   ( 2928):
E/Unity   ( 2928): Exception creating object com.google.vr.platform.unity.UnityVrActivityListener: UnityEngine.AndroidJavaException: java.lang.ClassCastException: co.river.integratedplayer.RiverVRUnityPlayerActivity cannot be cast to com.google.unity.GoogleUnityActivity
E/Unity   ( 2928):   at UnityEngine.AndroidJNISafe.CheckException () [0x00000] in <filename unknown>:0
E/Unity   ( 2928):   at UnityEngine.AndroidJNISafe.NewObject (IntPtr clazz, IntPtr methodID, UnityEngine.jvalue[] args) [0x00000] in <filename unknown>:0
E/Unity   ( 2928):   at UnityEngine.AndroidJavaObject._AndroidJavaObject (System.String className, System.Object[] args) [0x00000] in <filename unknown>:0
E/Unity   ( 2928):   at UnityEngine.AndroidJavaObject..ctor (System.String className, System.Object[] args) [0x00000] in <filename unknown>:0
E/Unity   ( 2928):   at BaseAndroidDevice.Create (System.String className, System.Object[] args) [0x00000] in <filename unknown>:0
E/Unity   ( 2928):
E/Unity   ( 2928): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
E/Unity   ( 2928):
I/Unity   ( 2928):
I/Unity   ( 2928): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
I/Unity   ( 2928):
E/Unity   ( 2928): Object is null when calling method setAlignmentMarkerEnabled
E/Unity   ( 2928):
E/Unity   ( 2928): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
E/Unity   ( 2928):
E/Unity   ( 2928): Object is null when calling method setSettingsButtonEnabled
E/Unity   ( 2928):
E/Unity   ( 2928): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
E/Unity   ( 2928):
E/Unity   ( 2928): Object is null when calling method setVRBackButtonEnabled
E/Unity   ( 2928):
E/Unity   ( 2928): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
E/Unity   ( 2928):
E/Unity   ( 2928): Object is null when calling method setShowVrBackButtonOnlyInVR
E/Unity   ( 2928):
E/Unity   ( 2928): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
E/Unity   ( 2928):
E/Unity   ( 2928): Object is null when calling method setTapIsTrigger
E/Unity   ( 2928):
E/Unity   ( 2928): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
E/Unity   ( 2928):
E/Unity   ( 2928): Object is null when calling method setVRModeEnabled
E/Unity   ( 2928):
E/Unity   ( 2928): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
E/Unity   ( 2928):
E/Unity   ( 2928): Object is null when calling method onPause
E/Unity   ( 2928):
E/Unity   ( 2928): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
E/Unity   ( 2928):
E/Unity   ( 2928): Object is null when calling method setVRModeEnabled
E/Unity   ( 2928):
E/Unity   ( 2928): (Filename: ./artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
E/Unity   ( 2928):

I've traced this to here:
https://github.com/googlesamples/cardboard-unity/blob/master/Cardboard/Scripts/VRDevices/CardboardAndroidDevice.cs#L30-L35
Right now my activity is currently extending com.unity3d.player.UnityPlayerActivity which is working great. I tried com.google.unity.GoogleUnityActivity but when I launch using that the google cardboard overlay comes up over everything and no input events make it to Unity.
What is the intention behind com.google.unity.GoogleUnityActivity and com.google.vr.platform.unity.UnityVrActivityListener ? What is considered the proper way to create your own activity for Unity that utilizes Google Cardboard?
To clarify, the only real issue is the errors in the logs, Cardboard continues to work fine when I use com.unity3d.player.UnityPlayerActivity, I would just like to know if this could be causing any issues and if there is a way to fix it.

You should extend GoogleUnityActivity, at least for now.  It is basically an altered version of UnityPlayerActivity that has hooks for the UnityVrActivityListener class.  This class holds the Cardboard UI layer, and it should only intercept events like pressing on the VR Back Button, the Gear Button, etc.  It does also catch screen touches and report them to Unity differently from usual, but you can disable that by clearing "TapIsTrigger" on the Cardboard.cs object.

Okay, I've switched to utilizing GoogleUnityActivity. After disabling tap trigger mostly everything works fine. Theres a minor issue I'm having.
When I first launch the activity it appears VR mode is enabled. There's a ~1 second period where I can see the cardboard overlay (line down the middle, gear button in the corner) and then my Unity code kicks in and sets VRModeEnabled = false and it disappears. I've tried modifying cardboard SDK here:
https://github.com/googlesamples/cardboard-unity/blob/e94bb104a2ef5924103a4d887a0a451ed56bca41/Cardboard/Scripts/Cardboard.cs#L79
However it still happens. Is there a way to toggle this from the Activity level before it launches to ensure it's never drawn? It's disrupting my loading screen.

That bug is from the native layer, but should be fixed in the next release (coming soon).

You're more familiar with the internal workings than I am; can you think of any negative consequences to not utilizing GoogleUnityActivity other than the console spam on start up and missing TapIsTrigger support? This app is in the final stages and it's very likely we'll be shipping sooner than that release and the startup flash is unsightly where as the log spam is not seen by the end user so I'm considering switching back to UnityPlayerActivity.

Any advice on what could be done in the event that a (non-cardboard) 3rd party plugin needs to be the main activity?

At the moment, there's no friendly way to do this, but it can be (and has been) done.  Decompile unityvractivity.jar and get the code for GoogleUnityActivity.  Incorporate it with the other plugin's activity, either as a base, or as an extension, or even just copy in the implementation.

Hi:
Is there complete document for GoogleUnityActivity? And teach us how to extends the GoogleUnityActivity?
i export  a android project from cardboard unity project,i find that the launcher activity is  GoogleUnityActivity, But i want to add some ui  on this project, so i need extend GoogleUnityActivity;
is there any reference code or document?


OCPBUGS-8102: Include all the device class names in the error message

This PR enhances the error message when multiple device classes are used, but no paths specified for at least one of them. The new error message includes all the device class names that do not have paths.

/lgtm


goagen command help output no longer displays subcommands

goagen --help
usage: codegen help [...]
Show help.
Flags:
--help                   Show context-sensitive help (also try --help-long and --help-man).
--version                Show application version.
-o, --out="/home/bketelsen"  output directory
-d, --design=DESIGN          design package path
--debug                  enable debug mode
Args:
[]  Show help on command.
Subcommands:
{END of output from help command}

I'm not able to repro with the latest master, could you confirm this is fixed? Here is what I get:
 ~/g/s/g/r/g/goagen $ goagen --help
usage: codegen --design=DESIGN [<flags>] <command> [<args> ...]

The goagen tool generates various artifacts from a goa service design package.

Each command supported by the tool produces a specific type of artifacts. For
example the "app" command generates the code that supports the service
controllers.

The "bootstrap" command runs the "app", "main" and "swagger" commands
generating the controllers supporting code and main skeleton code (if not
already present) as well as the API Swagger specification.

Flags:
      --help           Show context-sensitive help (also try --help-long and
                       --help-man).
      --version        Show application version.
  -o, --out="/home/raphael/go/src/github.com/raphael/goa/goagen"
                       output directory
  -d, --design=DESIGN  design package path
      --debug          enable debug mode

Commands:
  help [<command>...]
    Show help.

  bootstrap [<flags>]
    Bootstrap command, equivalent to running "app", "main" and "swagger" commands
    sequentially.

  app [<flags>]
    Generate application code

  main [<flags>]
    Generate application main skeleton

  client [<flags>]
    Generate API client tool and package

  swagger
    Generate swagger representation, see http://swagger.io

  schema [<flags>]
    Generate application JSON schema controller

  gen --pkg-path=PKG-PATH [<flags>]
    Invoke third party generator

Maybe it's a dependency problem?  I deleted my raphael/goa directory and did a fresh go get -a github.com/raphael/goa then go install github.com/raphael/goa/goagen and I still get the same output which is missing almost all of the help commands.

Ah yes indeed, I was able to repro after doing a go get -u gopkg.in/alecthomas/kingpin.v2. The good news is that @on99's fix worked! Thank you both.

sweet!


component: Jumbotron

https://github.com/themesberg/flowbite-vue/compare/main...assasin0076:flowbite-vue:feat_jumbotron?expand=1


refactor: observers is now a set of connections

This is just a small step towards removing connection id,
but it is fully self contained
BREAKING CHANGE: observers is now a set of connections, not a dictionary

 Here is an overview of what got changed by this pull request:

Clones removed
==============
+ Assets/Mirror/Tests/Editor/NetworkIdentityTests.cs  -2

See the complete overview on Codacy


Config.yml doesn't seem to be read

Hello,
I cannot access my samba share, and it seems from reading the logs that the config.yml file was not read. I precise my OS is RaspberryPi OS 64-bit.
My compose file
version: "3.5"

services:
  samba:
    image: crazymax/samba
    container_name: samba
    ports:
      - 445:445
    volumes:
      - "./data:/data"
      - "/srv/nas/Public:/samba/Public"
    environment:
      - "TZ=Europe/Paris"
      - "SAMBA_LOG_LEVEL=1"
      - "SAMBA_HOSTS_ALLOW=<IP_ADDRESS>/16 <IP_ADDRESS>/12"
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

My config file
auth:
  - user: eric
    group: famille
    uid: 1001
    gid: 1000
    password_file: eric_passwd

global:
  - "force group = famille"

share:
  - name: public
    comment: "Repertoire partage de la famille xxx"
    path: /samba/Public
    browsable: yes
    readonly: no
    guestok: no
    valid users: @famille
    veto: no

And my logs
eric@vault:~/samba $ sudo docker-compose logs
Attaching to samba
samba    | Setting timezone to Europe/Paris
samba    | Initializing files and folders
samba    | Setting global configuration
samba    | Load smb config files from /etc/samba/smb.conf
samba    | Loaded services file OK.
samba    | Weak crypto is allowed
samba    |
samba    | Server role: ROLE_STANDALONE
samba    |
samba    | # Global parameters
samba    | [global]
samba    |      disable netbios = Yes
samba    |      disable spoolss = Yes
samba    |      dns proxy = No
samba    |      local master = No
samba    |      map to guest = Bad User
samba    |      pam password change = Yes
samba    |      printcap name = /dev/null
samba    |      security = USER
samba    |      server role = standalone server
samba    |      server services = s3fs, rpc, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
samba    |      server string = Docker Samba Server
samba    |      smb ports = 445
samba    |      unix extensions = No
samba    |      usershare allow guests = Yes
samba    |      winbind scan trusted domains = Yes
samba    |      fruit:time machine = yes
samba    |      fruit:delete_empty_adfiles = yes
samba    |      fruit:wipe_intentionally_left_blank_rfork = yes
samba    |      fruit:veto_appledouble = no
samba    |      fruit:posix_rename = yes
samba    |      fruit:model = MacSamba
samba    |      fruit:metadata = stream
samba    |      idmap config * : backend = tdb
samba    |      create mask = 0664
samba    |      directory mask = 0775
samba    |      force create mode = 0664
samba    |      force directory mode = 0775
samba    |      hosts allow = <IP_ADDRESS>/16 <IP_ADDRESS>/12
samba    |      hosts deny = <IP_ADDRESS>/0
samba    |      printing = bsd
samba    |      strict locking = No
samba    |      vfs objects = fruit streams_xattr
samba    |      wide links = Yes
samba    | smbd version 4.15.5 started.
samba    | Copyright Andrew Tridgell and the Samba Team 1992-2021
samba    | INFO: Profiling support unavailable in this build.
samba    | Failed to fetch record!
samba    | pcap cache not loaded

Thanks for helping

YAML config is not valid:
Error : bad indentation of a sequence entry at line 18, column 18:
        valid users: @famille
                     ^
Line : undefined  undefined

Try with:
auth:
  - user: eric
    group: famille
    uid: 1001
    gid: 1000
    password_file: eric_passwd

global:
  - "force group = famille"

share:
  - name: public
    comment: "Repertoire partage de la famille xxx"
    path: /samba/Public
    browsable: yes
    readonly: no
    guestok: no
    valid users: "@famille"
    veto: no

Thanks, I try again. Here is my new log
eric@vault:~/samba $ sudo docker-compose logs
Attaching to samba
samba    | Setting timezone to Europe/Paris
samba    | Initializing files and folders
samba    | Setting global configuration
samba    | Creating user eric/famille (1001:1000)
samba    | Added user eric.
samba    | Add global option: force group = famille
samba    | Creating share public
samba    | Load smb config files from /etc/samba/smb.conf
samba    | Loaded services file OK.
samba    | Weak crypto is allowed
samba    |
samba    | Server role: ROLE_STANDALONE
samba    |
samba    | # Global parameters
samba    | [global]
samba    | 	disable netbios = Yes
samba    | 	disable spoolss = Yes
samba    | 	dns proxy = No
samba    | 	local master = No
samba    | 	map to guest = Bad User
samba    | 	pam password change = Yes
samba    | 	printcap name = /dev/null
samba    | 	security = USER
samba    | 	server role = standalone server
samba    | 	server services = s3fs, rpc, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
samba    | 	server string = Docker Samba Server
samba    | 	smb ports = 445
samba    | 	unix extensions = No
samba    | 	usershare allow guests = Yes
samba    | 	winbind scan trusted domains = Yes
samba    | 	fruit:time machine = yes
samba    | 	fruit:delete_empty_adfiles = yes
samba    | 	fruit:wipe_intentionally_left_blank_rfork = yes
samba    | 	fruit:veto_appledouble = no
samba    | 	fruit:posix_rename = yes
samba    | 	fruit:model = MacSamba
samba    | 	fruit:metadata = stream
samba    | 	idmap config * : backend = tdb
samba    | 	create mask = 0664
samba    | 	directory mask = 0775
samba    | 	force create mode = 0664
samba    | 	force directory mode = 0775
samba    | 	force group = famille
samba    | 	hosts allow = <IP_ADDRESS>/16 <IP_ADDRESS>/12
samba    | 	hosts deny = <IP_ADDRESS>/0
samba    | 	printing = bsd
samba    | 	strict locking = No
samba    | 	vfs objects = fruit streams_xattr
samba    | 	wide links = Yes
samba    |
samba    |
samba    | [public]
samba    | 	comment = Repertoire partage de la famille xxx
samba    | 	delete veto files = Yes
samba    | 	path = /samba/Public
samba    | 	read only = No
samba    | 	veto files = /._*/.apdisk/.AppleDouble/.DS_Store/.TemporaryItems/.Trashes/desktop.ini/ehthumbs.db/Network Trash Folder/Temporary Items/Thumbs.db/
samba    | smbd version 4.15.5 started.
samba    | Copyright Andrew Tridgell and the Samba Team 1992-2021
samba    | INFO: Profiling support unavailable in this build.

What's the output of docker-compose exec samba cat /etc/samba/smb.conf?

Everything seems ok. Just one thing : I don't know how to generate the password file. I have tried with htpasswd, but it doesn't seem to be the right tool.
eric@vault:~/samba $ sudo docker-compose exec samba cat /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = Docker Samba Server
server role = standalone server
server services = -dns, -nbt
server signing = default
server multi channel support = yes

log level = 1
;log file = /usr/local/samba/var/log.%m
;max log size = 50

hosts allow = <IP_ADDRESS>/16 <IP_ADDRESS>/12
hosts deny = <IP_ADDRESS>/0

security = user
guest account = nobody
pam password change = yes
map to guest = bad user
usershare allow guests = yes

create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mode = 0775
follow symlinks = yes
wide links = yes
unix extensions = no

printing = bsd
printcap name = /dev/null
disable spoolss = yes
disable netbios = yes
smb ports = 445

client ipc min protocol = default
client ipc max protocol = default

;wins support = yes
;wins server = w.x.y.z
;wins proxy = yes
dns proxy = no
socket options = TCP_NODELAY
strict locking = no
local master = no

winbind scan trusted domains = yes

vfs objects = fruit streams_xattr
fruit:metadata = stream
fruit:model = MacSamba
fruit:posix_rename = yes
fruit:veto_appledouble = no
fruit:wipe_intentionally_left_blank_rfork = yes
fruit:delete_empty_adfiles = yes
fruit:time machine = yes

force group = famille

[public]
path = /samba/Public


Update to libcurl 7.52

This is a pretty awesome wrapper, would be great to see it support libcurl 7.52 and a the curlmopt_XXX for enabling full HTTP/2

@non-standard libcurl 7.52 with nghttp_2 support has been implemented.


CASSANDRA-17212 : Migrate threshold for minimum keyspace replication factor to guardrails

@adelapena I don't know about getting rid of them, would need to see original JIRA more closely to see the full intent. I would be concerned getting rid of a new feature when we can port it to the new configs without much prob

I don't see a particular reason in the original ticket for having the nodetool commands beyond the need to be able to dynamically udpdate the properties. Raw JMX already does that, although the nodetool command make it more handy. I don't have a problem keeping those trivial commands, beyond the lack of homogeneity with the other guardrails, which doesn't seem a big problem, even it they become redundant when we add the ability to manipulate guardrails through virtual tables.


Limits and/or points for x-axis on Schedule chart may be incorrect

If a timeslot starts at 09:45 and ends at 17:45 then:

The x-axis limits should be [09:45, 17:45]
Points and tooltips should only be drawn for {09:45, 10:00, 10:30, 11:00, ..., 17:30}
A hidden point for 17:45 should be included so that the 17:30-17:45 line is drawn

The screenshot below shows the following:

The x-axis limits are [09:45, 18:00]
Points and tooltips are drawn for {09:45, 10:00, 10:15, ..., 17:45}
A hidden point for 18:00 is included so that the 17:45-18:00 line is drawn

Released in v1.0.6


Update lagging state

Changes checkIfLagNotDecreasing to track if the lag over time is not decreasing. Previously it would not set this state if at any point the lag decreased which could cause lag to continuously increase with no alerts.

Coverage increased (+0.06%) to 74.771% when pulling e945eca04677f5779a374ab8974a02f27a1a45f1 on jasklabs:fix-lag-not-decreasing into a449cc412c48231a2b7347cd790f82b8ed18faf2 on linkedin:master.


Landing "kangaroo"

@tumbili Basically thr_max is 0, it's sitting on the ground and practically not moving, landing type setpoint is still active, but then suddenly is allowed to throttle up again. As far as I can tell it's not the free fall detection triggering it.
http://logs.uaventure.com/view/xmkioKbqXpQfcNqBsTpebX
http://logs.uaventure.com/view/c2erHVJtUvqdhfRv7CBUUk

This behavior can be seen in this video at the end: https://drive.google.com/open?id=0B27AvDmVit4KRVlpYkFMNVpTLWM

@AndreasAntener @sanderux The problem could be this one
https://github.com/PX4/Firmware/blob/master/src/modules/mc_pos_control/mc_pos_control_main.cpp#L1533
If this condition is not satisfied then the max thrust parameter will not be set to zero any more but rather to standard max thrust value a few lines up in the code. The velocity at / after touchdown is anyway not really accurate any more due to the impact. Will have a closer look tomorrow.

Adressed in #3716


spike: themes that may be used as inspiration or look interesting

https://github.com/AlexvZyl/nordic.nvim


Links like tel:

Please remove the check for the correctness of the link when you click on it.
This check can and should be done in the onLaunchUrl handler

Instead of removing check, I think we should add tel to whitelist.
Can u submit a pull request for list of strings you want to handle, please?

  void _launchUrl(String url) async {
    if (!url.startsWith('http')) {
      url = 'https://$url';
    }
    await launch(url);
  }

Actually it is more complicated since we append https for any string not starting with http.
We should add logic here to handle tel: and other kind of URL like tel
Simply removing check is not acceptable.

If the link starts with tel: - the onLaunchUrl handler doesn't work at all.
At least make the handler triggered, users will remove the extra http themselves
Although it's a crutch. It would be more correct to add validation:
!url.startsWith('http') && !url.startsWith('tel:') && !url.startsWith('mailto:') && ...

Found an article on using scheme on mobile devices. It's a little outdated, but still.
https://beradrian.wordpress.com/2010/01/15/special-links/

@kostasoft check out https://github.com/singerdmx/flutter-quill/pull/47

@li3317  can you check https://github.com/singerdmx/flutter-quill/pull/47 and test it? Also expand the prefixes using https://beradrian.wordpress.com/2010/01/15/special-links/ .

Yes, of course, just tell me how to connect the new branch?
I now connect the plugin like this:
  flutter_quill:
    git:
      url: git://github.com/singerdmx/flutter-quill.git
      ref: master

change ref: master to ref: launchUrl ?

branch name is launchUrl

Another way, instead of using white list, we can use regex to check if it is substring after http:// or https://. If true, prepend https://.
But it may have edge cases.

It is safer to have white list, but we may need to maintain whitelist for new cases.

When I switch to the launchUrl branch, the project compiles with errors:
/C:/Users/kostasoft/AppData/Local/Pub/Cache/git/flutter-quill-a41198c96d6db822406d3ab38192b64cc15e2113/lib/widgets/text_selection.dart:201:43: Error: Too few positional arguments: 8 required, 7 given.
        child: selectionCtrls.buildToolbar(
                                          ^
/C:/Users/kostasoft/AppData/Local/Pub/Cache/git/flutter-quill-a41198c96d6db822406d3ab38192b64cc15e2113/lib/widgets/text_line.dart:63:41: Error: No named parameter with the name 'nullOk'.
        Localizations.localeOf(context, nullOk: true),
                                        ^^^^^^
/C:/flutter/packages/flutter/lib/src/widgets/localizations.dart:413:17: Context: Found this candidate, but the arguments don't match.
  static Locale localeOf(BuildContext context) {
                ^^^^^^^^

FAILURE: Build failed with an exception.

My bad, it was based off  master. Please let me redo it

@kostasoft I merged it to branch stable, just use stable for testing.

Should I switch back to the master branch?

ref: stable

Same thing. The project compiles with errors.
The same happens with versions 1.0.0-dev.1 and 0.3.3
Only the master branch directly from git compiles normally.
/C:/Users/kostasoft/AppData/Local/Pub/Cache/git/flutter-quill-96ececbebed89f19adcd4fd0e0132c0df0d7cd20/lib/widgets/text_selection.dart:201:43: Error: Too few positional arguments: 8 required, 7 given.
        child: selectionCtrls.buildToolbar(
                                          ^
/C:/Users/kostasoft/AppData/Local/Pub/Cache/git/flutter-quill-96ececbebed89f19adcd4fd0e0132c0df0d7cd20/lib/widgets/text_line.dart:63:41: Error: No named parameter with the name 'nullOk'.
        Localizations.localeOf(context, nullOk: true),
                                        ^^^^^^
/C:/flutter/packages/flutter/lib/src/widgets/localizations.dart:413:17: Context: Found this candidate, but the arguments don't match.
  static Locale localeOf(BuildContext context) {
                ^^^^^^^^

FAILURE: Build failed with an exception.

are you on channel stable?

Yes
  flutter_quill:
    git:
      url: git://github.com/singerdmx/flutter-quill.git
      ref: stable
#      ref: master

you may want clean local cache or sth

Do you know what flutter channel is?

https://stackoverflow.com/questions/51586259/which-channel-do-i-use-in-flutter-sdk

beta

there is no way you can run our code in beta

Your code on the master branch compiles fine

That is supposed for channel master

you can use flutter_quill: ^0.3.4

0.3.4 does not compile.
The errors are still the same

because you should use channel stable!

Using the flutter channel is not possible. The project needs Web support

Then master

master - too unstable


cleanup varlens and make a pip release

If we're using this for pgv that's a good impetus to

write docs
figure out a way to demote the Python-expression-on-the-commandline stuff to still be there when you need the flexibility but be less in the way in the code
add unit tests for all the --include-X arguements in varlens-variants
do a pip release

Done right? https://pypi.python.org/pypi/varlens/

Yep.


Model.find({ where: { age: { '<': 30 } }, select: ['name'] })  is no work

has any option when i haven't set?

Are you using sails-mongo? From https://github.com/balderdashy/waterline/issues/1059#issuecomment-112361427:

Sails-mongo did not support select until recently (balderdashy/sails-mongo#281), a fix has been made and it will go out in the next release (v0.11.3 I believe).

yes

i want ask when the next version publish

@particlebanana, @devinivy, we've seen this issue popping up some 4 times now... is there anything preventing us from releasing sails-mongo v0.11.3?

@dmarcelino haven't looked at it but if theres a patch that needs to be published and the tests are passing we can publish it.

Looking at the sails-mongo commits since last release, the select seems to be the only change. I think it's worth releasing since we had some 4 issues open due to this. @devinivy, any concerns?

That sounds good.  The mongo adapter has had a fair amount of issues recently– any other low-hanging fruit we can expedite into the release?


Update tmp_storage.rb to fix issue#11

File open for token reading

@Dvorf would you like to update PR?

Probably this will sound wired, but I was able to run fnsapi successfully only with my fix. Investigation showed that temporary token not being read from file.

Closing this PR for now. Feel free to reopen it if needed.


Fix pydantic-settings to underscore in docs

Change Summary
In this migration docs, it seems desirable to change "pydantic-settings" to "pydantic_settings" with underscores.
Even though the package repo name is "pydantic-settings", In Python, we still need to use underscores as shown below.
from pydantic_settings import BaseSettings

I believe this change will be helpful for users.
Thanks! ☺

Related issue number

Checklist

[x] The pull request title is a good summary of the changes - it will be used in the changelog
[ ] Unit tests for the changes exist
[ ] Tests pass on CI
[ ] Documentation reflects the changes where applicable
[x] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

Selected Reviewer: @adriangb

please review

Thanks @FacerAin


Lexer refactor suggestion

Extracts a lex_doc_string from the lexer. Could do the same thing with other tokens.

I think this will break when trying to parse text after multiple comments e.g.
//foo
//foo2
bar

Ah yes, I moved the lex_doc from the loop, that's not great...


Can you push a release with the watchDir change?

And is it watch or watchDir? Your README might be wrong.

For anyone wanting to hack it:
let scssPlugin = scss({
  output: "extension/styles.css",
  prefix: `@import "./colors.scss";`,
})
let transform = scssPlugin.transform
scssPlugin.transform = function(...args) {
  this.addWatchFile('src/css');
  return transform(...args)
}

I also was confused with watch option in readme...

Also, it seems that watchDir doesn't work recursively... Array support may be needed

Released in v2.2.0 including array support :-)


[EasyCodingStandard] Check slevomat/coding-standard dependency if is possible to update

Hello! I have from my CI notification that slevomat/coding-standard is outdated, i have checked and there is version 5.0 out (https://github.com/slevomat/coding-standard/releases/tag/5.0.0). We might check if it does not break anything and update composer.json dependency.

Go for it :+1:

@JanMikes Did you try it? I just found a false-positive issue in the 4.x version which I suspect is already fixed in 5.0 so I'd like to upgrade.

@enumag Not yet, it was on my task list for this week -> I can do it this evening.


Cloning repository on Node 7

I cloned the repository and ran npm install on Node 7.0.0 and npm 4.0.1.  But when I tried to run the examples, they failed because react-dom had not been installed.
I fixed this by moving react and react-dom from peerDependences to dependencies in package.json and then ran npm install again.

I believe this is pretty standard. It's up to the user to manage react-dom as a dependency, the same way it's up to the user to manage react as a dependency.
Otherwise, you can end up with multiple different packages relying on their own versions of react, which is obviously undesirable.

I believe react-dom used to be included in devDependencies to account for this. Looks like it was removed accidentally.


List of videos

Hi,
I tried following your sample code and creating a listview of videos. I can see the layout of the card, the title, description and the bottom bar where the play and duration sliders are. However, the videos are not displaying.
Here's my code if anyone can help, that would be great
import 'package:chewie/chewie.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';

void main() {
  runApp(
    new ChewieDemo(
      items: [
        new VideoItem(
          title: 'Fluttering Butterfly',
          description: 'A lovely butterfly flapping it\'s wings',
          controller: new VideoPlayerController.network(
            'https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4',
          ),
        ),
        new VideoItem(
          title: 'Beeeeeeeees!',
          description: 'Silly little bee',
          controller: new VideoPlayerController.network(
            'https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4',
          ),
        )
      ],
    ),
  );
}

class VideoItem {
  final String title;
  final String description;
  final VideoPlayerController controller;

  VideoItem({this.title, this.description, this.controller});
}

class ChewieDemo extends StatefulWidget {
  final String title;
  final List<VideoItem> items;

  ChewieDemo({this.title = 'Chewie Demo', this.items});

  @override
  State<StatefulWidget> createState() {
    return new _ChewieDemoState();
  }
}

class _ChewieDemoState extends State<ChewieDemo> {
  TargetPlatform _platform;

  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: widget.title,
      theme: new ThemeData.light().copyWith(
        platform: _platform ?? Theme.of(context).platform,
      ),
      home: new Scaffold(
        appBar: new AppBar(
          title: new Text(widget.title),
        ),
        body: new ListView(
          children: widget.items.map((item) {
            return new Container(
              margin: new EdgeInsets.only(bottom: 20.0),
              child: new Card(
                child: new Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: <Widget>[
                    new Text(
                      item.title,
                      style: Theme.of(context).textTheme.title,
                    ),
                    new Text(
                      item.description,
                      style: Theme.of(context).textTheme.subhead,
                    ),
                    new Chewie(
                      controller: ChewieController(videoPlayerController: item.controller),

                    ),
                  ],
                ),
              ),
            );
          }).toList(),
        ),
      ),
    );
  }
}

I found it. But I believe there's a bug. If you set autoplay to false it doesn't load the video. Even if you press on play it won't work.
autoPlay: true,
aspectRatio: 3 / 2,
looping: false

Closing. Duplicate issue: https://github.com/brianegan/chewie/issues/229


Should interface reject static interface members?

I just tried to use  a static member function within an interface, and I got an unexpected identifier error:
/* @flow */

interface A {
  static someStatic(): void;
} // inter.js:4:10,10: Unexpected identifier

Is relaxing Type._object env to Type._object ~allow_static:true env (src/parser/parser_flow.ml) fraught with peril?  (I expect the override semantics of class to get applied, so I don't see any problem.)

How would you like to use an interface with static members?

The case that won't go away is alternate constructors:
interface I {
  static ctorPattern1<T>(p1: number): T;
  static ctorPattern2<T>(p1: string): T;
}

In a serialization library of mine, I've got a Reader class:
export default class Reader {
  // Imagine properties here.

  constructor(arena: Arena, depth: uint, isOrphan: boolean, segment: SomeBuffer) {
    if (depth > arena.maxDepth) {
      throw Error("Depth exceeded");
    }
    // Populate properties here.
  }

  // Pure virtual static.  Don't worry, this doesn't actually work :).
  static _deref: (arena: Arena, pointer: Datum, depth: uint) => Reader;

  static _fieldGet<T>(context: Struct, offset: uint, defaultArena: Arena): T {
    var pointer = {
      segment: context._segment,
      position: context._pointersSection + offset
    };

    if (pointer.position < context._end && !isNull(pointer)) {
      return this._deref(context._arena, pointer, context._depth+1);
    } else {
      return this._deref(defaultArena, defaultArena._root(), 0);
    }
  }

  static _fieldUnionGet<T>(context: Struct & Discr, discr: uint16, offset: uint, defaultArena: Arena): T {
    throwOnInactive(context.which(), discr);
    return this._fieldGet(context, offset, defaultArena);
  }
  // ...
}

The last time I pushed this through Flow (without the pure virtual static), it choked on the this._deref references inside the _field... statics (an issue for another day).  An interface interface Derefable { static _deref ... } would be useful in Reader subclasses:  class Subclass extends Reader implements Derefable.
More generally, I don't think that interfaces can add anything to Flow without statics.  Simple types combine with the intersection operator to provide without-statics interfaces:
interface J {
  sMethod(): void;
  method(): void;
}

interface K {
  method2(): void;
}

class C implements J,K {...}

versus
type J = {
  sMethod(): void;
  method(): void;
};

type K = {
  method2(): void;
};

const C: J & K = class {...};

  Whoo hoo.

The parse errors went away. Unfortunately, Flow doesn't check the types.

TypeScript doesn’t support this behavior, and I personally don’t think we should either. Please let me know if you disagree 😊

I disagree. Statics are available on JS instances through constructor. Shouldn't Flow reasonably handle the following?
interface I {
  constructor: {
    a: string
  }
}

Isn't static sugar preferable?

Interfaces don’t really represent instances in the same way classes do. It’s better to think of interfaces as a classlike sugar for defining object types like type I = {} 😊
However, I see your usecase and we’d love to support a pattern like:
type InstanceStatic = {
  staticA: number,
  staticB: number,
  staticC: number,
  new (): Instance,
};

type Instance = {
  a: number,
  b: number,
  c: number,
  constructor: InstanceStatic,
};

If you don’t want to use ES6 classes 😊

Hmm. Given interface inheritance via the spread operator, if implements is extended to operate with object types, I'll never touch interface again. Is it fair to say that interfaces are intended to track TypeScript's for cross-compatibility?


[FEATURE] Add input for hiding image preview

With a boolean input decide the type of output to display (with images or without images)

Won't be done due to a new idea from d0a974e25802a996b88da3d1a7d7b0cd8d64e253


Use firebase-php for token verification?

According to https://firebase.google.com/docs/auth/admin/verify-id-tokens the official firebase admin SDKs can be used to validate ID tokens. I'm looking for this functionality inside firebase-php where it doesn't seem to exist?

That's right, it doesn't exist yet, but this issue will now serve as a todo list item :)

+1 for this one also 👍

For everybody waiting out here. @jeromegamez  submitted a new project: https://github.com/kreait/firebase-tokens-php

And now it's also implemented in the SDK 🎉 : https://github.com/kreait/firebase-php/releases/tag/2.1.0 /cc @andig


Cloning for new events

To discuss methods, solutions for cloning the website for new events

We built a hugo site template for individual events https://github.com/satRdays/satRday_site_template These all get subdomains and hosting on netlify under their open source plan

completed with #149


Module 1.1 Assignment

Given what you have learned about Git, why would you want to use Git in your classroom?

Very useful and helpful for Professors. Very important to teach the students an industry standard.


Port to MLJ.jl

Hi and thank you for this package!
have you considered porting it to MLJ.jl?

Yes, we are.
However, we are currently working on a big project and I don't know if we would be able to change PLS in the short term.
@lalvim

Sounds good.
Btw, porting a package to MLJ usually involves adding one script to the repo.
For example: ParallelKmeans.jl does this in mlj_interface.jl.

Thanks. I'll check with @lalvim to do this. It seems to be easy to porting.

Hi, I just portted the package to mlj in a branch named mlj.
As soon as possible, I will merge to the master and make official.
Out of curiosity, how did you discover the package? Are you part of the mlj
team?
Em sex., 1 de mai. de 2020 às 17:58, Filipe Braida<EMAIL_ADDRESS>escreveu:

Thanks. I'll check with @lalvim https://github.com/lalvim to do this.
It seems to be easy to porting.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lalvim/PLSRegressor.jl/issues/8#issuecomment-622565731,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA65XTLBXCD7IIZZBRGMWALRPMZYTANCNFSM4MXKCWUQ
.

--
------------------------------------------------------------------------------
*"Dave Bowman: Open the pod bay doors, HAL. *
*HAL: I’m sorry Dave, I’m afraid I can’t do that." *
Best Regards,
D.Sc. Leandro G. M. Alvim.
Professor Adjunto do Departamento de Ciência da Computação (DCC)
Instituto Multidisciplinar (IM) - Campus Nova Iguaçu
Universidade Federal Rural do Rio de Janeiro (UFRRJ)
Skype: lgmalvim

@lalvim soinds great.
I discovered MLJ, by searching google “ML in Julia...”
I discovered your package, searching PLS julia
I try to contribute to MLJ a little when I can.
Check out my script to automatically run all appropriate MLJ models:
https://discourse.julialang.org/t/custom-xgboost-loss-function-w-zygote-julia-computing-blog-post/35811/13?u=albert_zevelev

@ablaom @tlienart check out this package. They are working on an MLJ interface.

Hi,
We are finalizing the validation of the mlj branch. We decided to set the
interface as the default. The PLS algorithm is one of the best regression
algorithms for few data and its implementation is unusual. For example, we
can not find this in scikit. The same is true for the non-linear version.
We hope that one day it can be integrated into MLJ. We also have another
package called perceptrons (https://github.com/lalvim/Perceptrons.jl) that
contains several versions (voted, averaged, ...) of the perceptron
algorithm. This is yet to be adapted to the MLJ interface. It is also not
common in libraries.
Em qua., 3 de jun. de 2020 às 00:26, azev77<EMAIL_ADDRESS>escreveu:

@ablaom https://github.com/ablaom @tlienart
https://github.com/tlienart check out this package. They are working on
an MLJ interface
https://github.com/lalvim/PLSRegressor.jl/blob/mlj/src/mlj_interface.jl.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lalvim/PLSRegressor.jl/issues/8#issuecomment-637930173,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA65XTLRFIXR3QGWBYQSBY3RUW7GLANCNFSM4MXKCWUQ
.

--
------------------------------------------------------------------------------
*"Dave Bowman: Open the pod bay doors, HAL. *
*HAL: I’m sorry Dave, I’m afraid I can’t do that." *
Best Regards,
D.Sc. Leandro G. M. Alvim.
Professor Adjunto do Departamento de Ciência da Computação (DCC)
Instituto Multidisciplinar (IM) - Campus Nova Iguaçu
Universidade Federal Rural do Rio de Janeiro (UFRRJ)
Skype: lgmalvim

Hello! great that you'd like to use MLJ as the default interface and awesome for PLS; I'd be happy if we could run some comparisons with the more classic models in MLJLinearModels.jl at some point.
I have a fair few comments for the MLJ interface, would you guys mind

adding me as a collaborator
opening a PR from your #mlj branch so that I can comment on it?

thanks!

Thank you for your help!
I created the PR and added you as a reviewer.

@filipebraida I think this can be closed, no?


Create introductory video

Idea from #8 was to do an intro video for this module, with a series of participants simply describing what open science means to them.
Potential people to record:
Jo Havemann @johav  and Justin Ahinon @JustinyAhin
Tobias Steiner
Gareth O'Neill (suggestions to come from him too) @gtoneill
Note from @tosteiner too was to include text-based versions for people who might not want to be on video. Suggest here to do a short Twitter campaign and screenshot various people's tweets for this.

@Protohedgehog Brilliant, thanks, Jon!
Re: text-based option, this actually was - at least partly - motivated out of self-interest (I'd prefer not to appear on tape) 😉 Would be happy to share a tweet or quote, though 📓

NEARLY DONE WITH THIS! Just waiting on me for now actually.


No support for multiple i2c addresses - Update i2c library to 0.1.4

Hi,
please upgrade the package to include i2c library 0.1.4. It supports multiple pwm chips on the i2c.
I am currently using adafruit-i2c-pwm-driver successfully (after update to i2c 0.1.4) to drive a raspberry shield with two PCA9865 chips by pridopia.co.uk (I know that the adafruit only has one).
Also you might want to include packages using an "x" for the patch i.e.
"i2c" = "0.1.x"
Thank you

might want to go to v0.2.3 now instead.. lot of updates

@riczorn this library was now updated and uses the latest I2c lib (0.2.3) , can you please try the new version ? Not that there were some minor api changes (x = new PwmDriver() is now x = makePwmDriver() , etc, please check the updated readme for more info)

No news , I guess it works ? Closing. If it does not work I'll re open


Thanks for the helpfull plugin!

As there is no other easy way of doing this (ticket can be closed):
I just wanted to say thank you for developing and maintaining this cool plugin. I will use it in a non profit project and it saves me lot of time as I am not javascript geek. So thanks very much for making this world a better place by sharing such great and helpfull code!!

Wow, cheers mate! Keep the good works up!


Can i Implement a custom pooling function

I  implement a convolution neural network on Keras with Theano backend. And I want to change pooling function to RMS (Root Mean Square) function.
How to change a pooling function to custom function?

Hi.  If this is just for your own use, I can suggest the following:  Make a copy of the "pooling.py" file in your local python directory, and rename it to something like "custom_pooling.py" . It will have all the needed module imports - check in this link: https://github.com/fchollet/keras/tree/master/keras/layers
Then, select the pooling class that is closest to what you want to implement and rename it to
"class RMS_Pooling1D(Layer):" etc.  When you are ready, just import this class like any other layer.  I created my own layer in a similar way.  I hope this helps.  Thanks.

Maybe I misunderstand, but can't RMS pooling be implemented as square -> avg. pool -> sqrt ?


Add Arabic Language

Add Arabic Language Translation Support:
auth.php
pagination.php
passwords.php
validation.php

Thank you for this PR!


non-working boundaries after 2.10.0 update

Description
I came across one example in #90 that allowed to limit the boundaries of explosions.
I wanted to reproduce this "feature" in my project and it didn't seem to work. I then noticed that the working example uses version 2.9.0 and my non-working project was using the newest 2.10.2 version.
Then I figured out that some changes made in the 2.10.0 version broke the boundaries setting.
Working boundaries (2.9.0): https://codesandbox.io/s/fireworks-js-launch-2-9-0-5k1ypf?file=/src/index.ts
Non-working boundaries (2.10.0): https://codesandbox.io/s/fireworks-js-launch-2-10-0-zyxj43?file=/src/index.ts
The only difference in the above examples is the package version of fireworks-js in package.json.
Note: the boundaries setting is the only thing I examined, therefore it's also possible something else might be broken after the 2.10.0 update.
Which package are you using?
fireworks-js, @fireworks-js/react
fireworks-js version
2.10.0
Browser
any

Found the bug:
In the constructor of class Fireworks, the canvas is created after the options have been updated, therefore the creation of the canvas overrides the previously set options.
This commit changed the ordering: feat: options are no longer singleton 90782619e4caf4de6f13d53c4d88750cf0540216

Related issue?
When autoresize is enabled, the custom boundaries get overridden again when the screen size changes, which kind of makes sense, but I think it could be handled in a better way.
// src/fireworks.ts
updateSize({ // <- this is the function that the Resize class executes
    width = this.container.clientWidth,
    height = this.container.clientHeight
}: Partial<Sizes> = {}): void {
   // ...
    this.updateBoundaries({
      ...this.opts.boundaries,
      width, // bye, custom boundaries...
      height
    })
}

The snippet of the source code above makes it impossible to use "custom" boundaries when autoresize is enabled.
Somehing similar to this could "fix" this?
Have the boundaries been set by the user?
  Yes: override them ONLY IF they would overflow the canvas
  No: great, override them with the new width and height

Have the custom boundaries been overridden before and do they no longer overflow the canvas now?
  Yes: revert them to their original value
  No: great, override them with the new width and height

Or just don't ever override custom set boundaries. Do you think, that this is a good idea?


backport: bitcoin#23723, 23547, 23002, 24153, 23591

backporting

Hello @UdjinM6, requesting review

re 23002 "Make descriptor wallets by default": Do we have everything prepared for this @knst?

re 23002 "Make descriptor wallets by default": Do we have everything prepared for this @knst?

Basically, everything is ready https://github.com/dashpay/dash-issues/issues/59 except mnemonics for descriptor wallets, which is quite important IMO.
But, we should not merge 23002 yet, because that's a breaking changes, at least not before v22 is branched-out.
Also, there's couple useful follow-ups must be done:

remove "experimental" hint from Qt's interface
remove the extra requirement for load_on_startup flagfrom createwallet rpc, which has been introduced due to RPCinterface changes (see https://github.com/dashpay/dash/pull/6095)

@vijaydasmp could you exclude 23002 from this PR, please?

Sure
On Tue, 17 Sept, 2024, 13:51 Konstantin Akimov, @.***>
wrote:

re 23002 "Make descriptor wallets by default": Do we have everything
prepared for this @knst https://github.com/knst?
Basically, everything is ready dashpay/dash-issues#59
https://github.com/dashpay/dash-issues/issues/59 except mnemonics for
descriptor wallets, which is quite important IMO.
But, we should not merge 23002 yet, because that's a breaking changes, at
least not before v22 is branched-out.
Also, there's couple useful follow-ups must be done:

remove "experimental" hint from Qt's interface
remove the extra requirement for load_on_startup flagfrom
createwallet rpc, which has been introduced due to RPCinterface
changes (see #6095 https://github.com/dashpay/dash/pull/6095)

@vijaydasmp https://github.com/vijaydasmp could you exclude 23002 from
this PR, please?
—
Reply to this email directly, view it on GitHub
https://github.com/dashpay/dash/pull/6274#issuecomment-2354860091, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAR5IIRCUP2XMIMTVOKL42LZW7Q73AVCNFSM6AAAAABOG5MFVKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJUHA3DAMBZGE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hello @UdjinM6 @knst , dropped 23002


Raising exception on 422

Hi,
I noticed that there has been a change on 22 september to raise an exception on a 422 error.
I was wondering how this was going to work as at present, when a record is saved and it fails, you can then read the errors of the instance - which then get rendered to the form etc.. by standard rails code - i.e. it operates much like active record.
Surely with this change, we will have to add rescue blocks everywhere ?
Cheers
Gary

https://github.com/chingor13/json_api_client/commit/617783d4766d753c0af4afbbf748a834da122472

You're correct, and is being reverted before the next version release. Thanks for catching it.


Method rename suggestion

Just a small suggestion to rename these method to make it consistent async naming.
https://github.com/aspnet/NodeServices/blob/74cac774f8800f59da9aaf98950b7da9e2297d72/src/Microsoft.AspNet.AngularServices/AngularRenderer.cs#L16
RenderToString to RenderToStringAsync
https://github.com/aspnet/NodeServices/blob/74cac774f8800f59da9aaf98950b7da9e2297d72/src/Microsoft.AspNet.NodeServices/INodeInstance.cs#L6-L8
Invoke to invokeAsync
https://github.com/aspnet/NodeServices/blob/74cac774f8800f59da9aaf98950b7da9e2297d72/src/Microsoft.AspNet.AngularServices/PrimeCacheHelper.cs#L11
PrimeCache to PrimeCacheAsync
:)

I could take this one if you'd like @SteveSandersonMS. Sounds like a good idea (just to keep the naming conventions consistent).
Also glad to of found this Repo, was trying to ask in Angular Universal where you were doing your .NET / Angular2 things :)
I'd love to help as much as possible, integrating .NET Core with Angular2 & Universal is near the top of my priority list! 👍

Thanks Mark, would be great to have your contributions here!
I'm about to deprecate and remove AngularRenderer altogether (in favour of the more general SpaServices prerendering helper, which with Angular as well as React etc.) so there's no need to update that one.
However I agree it would be good to clean up the naming for Invoke and PrimeCache.
Thanks!

Maybe we can talk next week so I can get up to speed with the project?
Actually starting a new Angular2 project with my team and have to use .NET Core and Universal :+1:
Glad to help! @SteveSandersonMS

This is now done. The old names Invoke and InvokeExport remain available but marked as [Obsolete]. They will be removed at some point.


Mixed integer ops

Implement mixed arithmetic operations for Constrained types.
Pairing with the feature: #![feature(mixed_integer_ops)].
// `uX` means: `u8`, `u16`, `u32`, `u64`, `u128` and `usize`.
// `iX` means: `i8`, `i16`, `i32`, `i64`, `i128` and `isize`.

impl<const MIN: uX, const MAX: uX, const DEF: uX> ConstrainedUX<MIN, MAX, DEF> {
    pub const fn checked_add_signed(self, value: iX) -> Option<Self>;
    pub const fn overflowing_add_signed(self, iX) -> (Self, bool);
    pub const fn saturating_add_signed(self, iX) -> Self;
    pub const fn wrapping_add_signed(self, iX) -> Self;
}

impl<const MIN: iX, const MAX: iX, const DEF: iX> ConstrainedIX<MIN, MAX, DEF> {
    pub const fn checked_add_unsigned(self, uX) -> Option<Self>;
    pub const fn overflowing_add_unsigned(self, uX) -> (Self, bool);
    pub const fn saturating_add_unsigned(self, uX) -> Self;
    pub const fn wrapping_add_unsigned(self, uX) -> Self;

    pub const fn checked_sub_unsigned(self, uX) -> Option<Self>;
    pub const fn overflowing_sub_unsigned(self, uX) -> (Self, bool);
    pub const fn saturating_sub_unsigned(self, uX) -> Self;
    pub const fn wrapping_sub_unsigned(self, uX) -> Self;
}

Codecov Report

Merging #1 (3ecb140) into main (8e1ddf8) will increase coverage by 0.84%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##             main        #1      +/-   ##
===========================================
+ Coverage   99.15%   100.00%   +0.84%
===========================================
  Files           3         3
  Lines         471       645     +174
===========================================
+ Hits          467       645     +178
+ Misses          4         0       -4

Impacted Files
Coverage Δ

src/macros/common.rs
100.00% <100.00%> (ø)

src/macros/int.rs
100.00% <100.00%> (+2.16%)
:arrow_up:

src/macros/uint.rs
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Document jax.lax.Precision

Fixes #8447
View generated documentation here: https://jax--8450.org.readthedocs.build/en/8450/jax.lax.html#jax.lax.Precision
Since it's not possible to set the __doc__ attribute of a pybind11 enum, I chose to add this documentation through inheritance, and changed some of the call sites based on this.
@hawkinsp please double-check the description of each enum value: I think there may be relevant parts that I missed. I'm pulling in before review to check for pytype issues.

From the current description I am drawn to think that if I call jax.lax.dot_general with two float64 arrays but with precision=DEFAULT then the computation is performed with bfloat16 and at the end promoted to a float64 again on devices supporting (hardware, I guess) bfloat16, but I would be surprised if that is really what happens...
Or is that what really happens?
Also, I have never heard of bfloat16x3... is this TPU specific ?

Yeah, I think this only applies on accelerators (I tried mentioning that, but maybe I should call out TPU/GPU specifically?)

I now noticed you did mention accelerators but I guess I was not reading it with enough focus.
Surely mentioning explicitly GPU/TPUs would help, I think.

HIGHEST:
Slowest but most accurate. Performs computations in float32. Aliases: 'float32'.

By the way, does this mean that computations are never performed with the full float64 precision on GPUs?
I would be surprised if that was the case...

I think it depends on the hardware. Some GPUs don't support float64 at all; some will emulate float64 via multiple float32 operations.
Agreed this is unclear in the draft of my docs. I'm awaiting review from @hawkinsp who has a much better grasp of the details here.

Yeah, but if I remember correctly this emulation is performed at the level of the compiler..?
Anyhow, if this documentation was more clear about what happens also for double-precision it would be great.
As it stands now it's really hard to understand what it actually does (at least, it is for me).

As it stands now it's really hard to understand what it actually does (at least, it is for me).

That's probably because the person who wrote it doesn't really understand what it actually does 😁

Added the caveat that this only applies on TPU.


Avoid abbreviations?

I know this one tends to bug people a lot, so feel free to shoot it down if you hate it.  🛩
I managed to get most people on board with this one at the last place I worked, and I felt like it helped us avoid a lot of confusion.  But at the same time, I recognize that lots of people would consider it extremely picky.  👃
The theory is that programmers started abbreviating variable names back in the early days of computers, when most languages had a character limit for variable names due to limited system resources.  At this point computers are more than powerful enough to handle variable names of any length, but abbreviations in code remain commonplace.  ⚾  Most programmers assume that abbreviating will save them time, especially for names that have to be typed frequently.  🐄 🐄 🐄  I'd contend that that assumption is usually wrong.  🐱
Even the longest variable names can be typed within a few seconds, and with modern IDE tools like autocomplete, time spent typing is generally negligible.  Time spent reading, on the other hand, is very important to consider.  ✋  It's important to remember that code gets read much more often than it gets written.  📚  But the real slowdown usually comes when somebody new has to read your code for the first time, and they can't figure out what an abbreviation stands for.  ⌛  Another big time-sink can be trying to remember how you/another programmer abbreviated a particular word when you typed it originally.  🐢  (Was it ColMgr or ClrMgr or did I actually write out ColorManager or what?) 🎨
Soooo... to keep things simple, I try to write out full words in my code whenever possible.  I won't make you do it if you don't want to, but I figured I'd at least throw it out there.  🏈 😄

I'm here for it! I'd love to get a code styleguide going and I would love to document this decision if others agree ✋

Let's make an issue to add a styleguide (airbnb maybe??)


mobile browser and touch input

On a desktop browser on the geometry page I can orbit each nurbs example.
Any plans for supporting mobile ?
I believe now certain frameworks support a unified touch / non touch API.

No plans to support mobile at this point, it's just a simplified demo at this point, so this is pretty low priority.


feat: implement tda consent configuration support

ENG-1394 implement tda consent configuration support

Checklist

[x] make test passes
[x] tests and/or benchmarks are included
[ ] documentation is changed or added
[x] commit message follows commit guidelines
[ ] is breaking change

Description of change

I tested locally and you can also see the tests in https://github.com/indykite/terraform-provider-indykite/actions/runs/10109999277/job/27959020793?pr=74


HHH-18212 Accessing a removed lazy association results in a NullPointerException

https://hibernate.atlassian.net/browse/HHH-18212
reproducer only

Superseded by https://github.com/hibernate/hibernate-orm/pull/8506


Tap gesture does not fire in 2.2.23

Using the code below with 2.2.22, the CachedImage gets the tap gesture. With 2.2.23, the tap gesture is now passed through to the grid and the CachedImage never sees it. I'm using Xamarin Forms v<IP_ADDRESS>71-pre2 on Android. I should mention this is in a ViewCell in a ListView.
BTW, this control is absolutely awesome! Thank you!

    <Grid.GestureRecognizers>
        <TapGestureRecognizer Tapped="OnGridTapped"/>
    </Grid.GestureRecognizers>

    <StackLayout>

        <ff:CachedImage x:Name="ProfilePhoto"
                        HeightRequest="60"
                        WidthRequest="60"
                        Margin="12,12,6,12"
                        Source="{Binding SenderPhotoUrl}"
                        DownsampleHeight="60"
                        LoadingPlaceholder="no_avatar.png"
                        ErrorPlaceholder="no_avatar.png"
                        HorizontalOptions="Center"
                        VerticalOptions="Start">

            <ff:CachedImage.Transformations>
                <ffx:RoundedTransformation Radius="60"/>
            </ff:CachedImage.Transformations>

            <ff:CachedImage.GestureRecognizers>
                <TapGestureRecognizer Tapped="OnProfilePhotoTapped"/>
            </ff:CachedImage.GestureRecognizers>

        </ff:CachedImage>

I have the same issue on the SvgCachedImage. Works fine in 2.2.22 but on 2.2.23 the tap is never received.

You could try to disable Android fast renderer (it's enabled by default if supported, it's mentioned in the release note). CachedImageRenderer.Init(false)
I'll fix this in the 2.2.24

In 2.2.25 This TGR does not fire also withCachedImageRenderer.Init(false)
<ffimageloading:CachedImage HorizontalOptions="Center" VerticalOptions="Center"
WidthRequest="200" HeightRequest="200"
DownsampleToViewSize="true"
ErrorPlaceholder="error.png"
LoadingPlaceholder="load_md.png"
Source="{Binding ArticoloCorrente.Immagine}">
ffimageloading:CachedImage.GestureRecognizers

</ffimageloading:CachedImage.GestureRecognizers>
</ffimageloading:CachedImage>


Support .gitignorerc pattern (doc suggestion/feature request)

Issue
Development Environment:

[x] Machine (Local, Container, Virtual): Local
[x] Operating System (Name/Version): macOS
[x] Web Browser (Name/Version): Chrome/79.0.3945.130 (Official Build) (64-bit)
[ ] Vapor Version:
[ ] Swift Version:

Expected Behavior:
N/A
Actual Behavior:
N/A
Reproduction Steps:
N/A
This issue is simply a documentation suggestion of a pattern we use in our projects.
We commit a file called .gitignorerc with content similar to the following:
macos,linux,windows,jetbrains+all,eclipse,code,node
# the above line is passed to gitignore.io; add anything custom below, then execute .gitignore.sh

The first line contains the arguments that will be given by the script below to gitignore.io.  Anything after the first line is simply appended to the .gitignore file, so that we can have additional ignores without having to worry about maintaining the .gitignore file manually.
We commit the script below as .gitignore.sh, alongside .gitignorerc:
RC=.gitignorerc

curl -sL https://www.gitignore.io/api/$(head -1 $RC) > .gitignore
tail -n +2 $RC >> .gitignore

Actually, it just occurred to me that if you wanted to formalize this pattern into a new feature where gitignore would look for a .gitignorerc file and/or accept literal ignore patterns as a command line argument, it'd be pretty neat.  :)
Anyway, thanks for gitignore.io.

Agregar al patrón

Please don't close


Read characteristics throws exception

Hello,
I'm trying to read the characteristics but the method read() from BluetoothCharacteristic always throw an exception.

Exception has occurred.
PlatformException (PlatformException(read_characteristic_error, unknown reason, may occur if readCharacteristic was called before last read finished., null))

My code is:
 getMsg1() async {
    var characteristics = _sierraCustomService.characteristics;
    for (var characteristic in characteristics){
      List<int> msg = await characteristic.read();
      print('Charac: $msg');
    }
}

_sierraCustomService.characteristics create a list with 6 items in characteristics. The debug output is:

D/FlutterBluePlugin(26917): [onCharacteristicChanged] uuid: 06d1e5e7-79ad-4a71-8faa-373789f7d93c
D/FlutterBluePlugin(26917): [onCharacteristicChanged] uuid: 06d1e5e7-79ad-4a71-8faa-373789f7d93c
D/FlutterBluePlugin(26917): [onCharacteristicChanged] uuid: 06d1e5e7-79ad-4a71-8faa-373789f7d93c
D/FlutterBluePlugin(26917): [onCharacteristicChanged] uuid: 06d1e5e7-79ad-4a71-8faa-373789f7d93c
D/FlutterBluePlugin(26917): [onCharacteristicChanged] uuid: 06d1e5e7-79ad-4a71-8faa-373789f7d93c
D/FlutterBluePlugin(26917): [onCharacteristicChanged] uuid: 06d1e5e7-79ad-4a71-8faa-373789f7d93c
I/flutter (26917): remoteId: 20:FA:BB:0B:CE:19 characteristicUuid: 06d1e5e7-79ad-4a71-8faa-373789f7d93c serviceUuid: bc2f4cc6-aaef-4351-9034-d66268e328f0

I know that the last row is from the read method.
FlutterBlue.instance._log(LogLevel.info,
        'remoteId: ${deviceId.toString()} characteristicUuid: ${uuid.toString()} serviceUuid: ${serviceUuid.toString()}');

Am I doing something wrong? I'm using 0.6.3+1

@flonguini have you attempted @LeviDahl’a fix?
Any further updates since your posting in November (sorry for the late response)?

I also experienced this issue, but after debugging for a while, I found out that I called the function to read the characteristic twice. So, I fixed it by calling the function once only.

@teekoksiang I see. But still is it the expected behavior for the library to throw an exception when a specific characteristic is read twice consecutively? I think it should allow it none the less.

@aytunch I guess so, as the error message stated that please wait for the previous characteristic read to finish, and I called the read function twice for the same characteristic.

so how can I then wait for it to finish? Or detect when its finished? Running into this problem when reading the characteristic more than once in a short amount of time.


Add Org Search API endpoint to Bearden

@cavvia commented on Mon Aug 14 2017
This comprises a Search API endpoint for Bearden which backs onto Elasticsearch, as part of our ongoing efforts to deprecate Galaxy and make Bearden our authoritative org list for reference shows. This feeds in to https://github.com/artsy/collector-experience/issues/354.
The work includes indexing Organizations during import in a new Elasticsearch index. The search query will possibly hit both the existing Gravity Partners index and the new Bearden index, but duplicates across the indices could cause issues.

Awesome! re: duplicates in Gravity and Bearden: right now, Gravity is a subset of Bearden. I've done an import to make sure that everything is there (as of a couple months ago now, so not perfect) and so Gravity is a source. One way to identify these orgs is to look at anything in Bearden with source = Gravity.


added missing google icon

Google icon isn't loading, and displaying the alt text instead.
The issue is Fixed with the proper icon.
I hope to merge it.

Hey @Sameeratweb issue not resolved please share screenshot.

please check it once again and let me know whether issue is resolved.

hey @Sameeratweb you only fixed the issue of the login page do the same for the register page also.

I have added the Google icon for both the login and register pages.
I hope to merge it.


[SPARK-35065][SQL] Group exception messages in spark/sql (core)

What changes were proposed in this pull request?
This PR group all exception messages in sql/core/src/main/scala/org/apache/spark/sql.
Why are the changes needed?
It will largely help with standardization of error messages and its maintenance.
Does this PR introduce any user-facing change?
No. Error messages remain unchanged.
How was this patch tested?
No new tests - pass all original tests to make sure it doesn't break any existing behavior.

Test build #139961 has started for PR 32958 at commit 8c9d37d.

Test build #139961 has finished for PR 32958 at commit 8c9d37d.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class ShuffleBlockInfo(shuffleId: Int, mapId: Long)
case class TempResolvedColumn(child: Expression, nameParts: Seq[String]) extends UnaryExpression
case class MakeDTInterval(
case class MakeYMInterval(years: Expression, months: Expression)
case class YearMonthIntervalType(startField: Byte, endField: Byte) extends AtomicType
case class CommandResult(
case class StateStoreCustomSumMetric(name: String, desc: String) extends StateStoreCustomMetric
case class StateStoreCustomSizeMetric(name: String, desc: String) extends StateStoreCustomMetric
case class StateStoreCustomTimingMetric(name: String, desc: String) extends StateStoreCustomMetric

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139961/

Test build #139966 has started for PR 32958 at commit 1e8f37c.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44488/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44488/

Test build #139966 has finished for PR 32958 at commit 1e8f37c.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139966/

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44493/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44493/

Test build #139972 has started for PR 32958 at commit 32d0881.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44499/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44499/

Test build #139972 has finished for PR 32958 at commit 32d0881.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class DropNamespaceExec(

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139972/

Test build #139989 has started for PR 32958 at commit 6d8b19f.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44516/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44516/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44516/

Test build #139989 has finished for PR 32958 at commit 6d8b19f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139989/

cc @allisonwang-db

Gentle ping @allisonwang-db

Test build #140125 has started for PR 32958 at commit f87e24d.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44652/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44652/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44652/

Test build #140125 has finished for PR 32958 at commit f87e24d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140125/

Test build #140181 has started for PR 32958 at commit 9b1dafc.

Test build #140181 has finished for PR 32958 at commit 9b1dafc.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140181/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44708/

Test build #140183 has started for PR 32958 at commit 1d08c71.

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44708/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44708/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44710/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44710/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44710/

Test build #140183 has finished for PR 32958 at commit 1d08c71.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140183/

ping @allisonwang-db

cc @cloud-fan

ping @cloud-fan

Test build #140370 has started for PR 32958 at commit 21ba64b.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/140370/

thanks, merging to master!

@allisonwang-db Thanks for review. @cloud-fan Thanks too.


exporters: removed now is skydive-flow-exporters repo

run skydive-scale-tests

@lebauce - this is block attempts to push exporter PRs to skydive repo

@lebauce / @safchain - can you please review?


Support GET method for RESTful Switch

Home Assistant release with the issue: 0.103.0
Operating environment (Hass.io/Docker/Windows/etc.): any
Integration: https://www.home-assistant.io/integrations/switch.rest/
Description of problem:  Add GET as a supported method for RESTful Switch
Desired format example:
switch:
  - platform: rest
    name: heater
    resource: http://<URL>/?pt=7
    method: get
    cmd_on: "7:1"
    cmd_off: "7:0"
    is_on_template: '{{ value_json.is_active }}'

To enable heater need to send command: resource&cmd_on (http:///?pt=7&7:1)
To disable heater need to send command: resource&cmd_off (http:///?pt=7&7:0)
Some devices support only GET method for management. For example https://ab-log.ru/smart-house/ethernet/megad-2561 Please implement GET method support for RESTful Switch

Thank you for reaching out. We use GitHub for tracking issues, not for providing support or tracking feature requests.
If you want to suggest a feature, you should try our Community Forum: Feature Requests.
If you have additional questions, feel free to join our Discord chat server.
Thanks! 👍


Referential Integrity Requires Singular Instances of ID properties on Hierarchical Entities

Hierarchical data entities should not allow the same ID property to be set at more than one level of the Hierarchy.
E.g., Field today contains both a FarmId, and (ostensibly for convenience) a GrowerId.  This invites an issue where one sets the Field 1 as belonging to Farm 1 and Grower 1, where Farm 1 itself references Grower2.
This issue also appears numerous times in the entities that extend the base document type.

Agreement in Sept 14 meeting that whether these extra properties were added as a convenience or to support an alternate way of modeling things, they must be removed in cases where they occur.


is there any advice to predict the future steps ?

Hi, when the decomposition has been done, how to predict the future steps using these decomposed three parts ?

I think another forecasting model (ARIMA, GPR, RNN-based NNs...) can be considered.


window安装完成后出现一个弹窗，输入内容点send反应

window执行最后一步python main.py后弹出一个对话框，随便输入内容点击send没反应

Is this issue occurring while running ChatDev itself or while running the software generated by ChatDev? Providing more details will help in resolving the issue effectively.

If you have any updates on this problem, please reopen this issue and paste your log so we can help it.


Title and description edits

P1 and P2 duplicate title edits; added missing descriptions; fixed ms.custom metadata. For docs in the Security and Enterprise sheets.

@DaniHalfin