Use RSpec

Reason for Change

nsq-ruby uses RSpec, so this opens up the opportunity for an upstream patch later on.
RSpec has many advantages over Minitest including clearer failure output, spec tagging, verifying doubles, and more broad community support.  Tagging also lets us specify groups of tests and then rspec . --tag slow to just focus them.
Since RSpec is more popular, this encourages community contributions.

Changes

Rename tests from _test to _spec.
Reconfigure tests.
.gitignore the spec/example.txt file, which tracks recent runs and failures, allowing for rspec --only-failures and rspec --last-failure.
Display the slowest 1 test when running the suite.

I don't quite follow how us using minitest or rspec has any influence on the nsq-ruby gem? We just consume it here, right?
In general I'm a big fan of consistency across projects and minitest is used pretty much everewhere else.

I don't quite follow how us using minitest or rspec has any influence on the nsq-ruby gem? We just consume it here, right?

We are very likely to submit this as an upstream patch to nsq-ruby since it doesn't do much more than wrap the functionality.
As such, that gem is tested using RSpec, and so it will facilitate proposing a patch to nsq-ruby if we also use RSpec here.

Minitest consistency is fine but in this context I think Rspec is going to be faster for us to work in and simpler in the long term if there is some merging concerns with the ruby-nsq gem.
Additionally I am concerned that the consistency argument sometimes holds us up from using effective tools. Mocha is a great example of something that no longer maintained and is yet what we continue to use for consistency.

:+1:


Which layer should we use when using the model as a general-purpose foundation model ?

Dear @coupriec
Thanks to your help in Issue #4 we used your model in our projects. The idea is to use it as a general-purpose RS image encoder (a good idea?), followed by different downstream steps. In other words, considering your model is a foundation model.
However we faced a technical question: there is the parameters out_indices that allows for getting the embedding for selected layers. In your case, you use a combination of layers out_indices=(9, 16, 22, 29) , but it would be simplier for us to select a single layer output. We made tests and things get different when selecting a layer or another. What would you recommend ? The last layer ?
Many thanks for your help,
Vincent - CNRS

Hi Vincent, thanks for your question, yes, I think it can be a good idea. We chose a combination of layers because it works better for dense tasks such as depth estimation. For classification tasks, we usually take the cls token, potentially concatenated with an average pooling of the last patch token layer, which can bring an small improvement in accuracy.


SelectBox is missing the props required and name

I'm using the standard HTML form element so it would be nice to have the name property to handle form data on submit.
SelectBox it's also missing the required property.

Good points, we'll try to add these props!

@mitrotasios can u give some guidance in where to start? I can add those

hey @jorgeramirezamora thanks for offering this, we are currently working on migrating our Input elements to use headlessui as it would enable us to make them easily accessible. So I think it wouldn't make sense to start working on this issue until the migration is complete. Should I get back to you once this is the case? Also, feel free to join our Slack community and we can chat about delegating other tasks to you if you're interested in contributing!

Makes sense. And yes please, I am interested in contributing 🚀 How can I join Tremor's Slack?

Awesome! Here’s the link: https://t.co/g99pltTvIC

Hey @jorgeramirezamora, the select boxes now run on Headless UI and we still need to add id and name and some underlying changes to use them in forms. Let me know if you want to contribute here!

Sure, lemme wrap up https://github.com/tremorlabs/tremor/issues/670 first

@jorgeramirezamora awesome, thanks!

I would like to be assigned for this. :)

There is already a PR (#729) on this


Exporting SciexOS quant method.

This PR is getting close to completion, it would be nice to have another round of code reviews so that we can merge it at vendor's request.


Sync published with master

Publish the latest docs

Deploy preview for docsdocker ready!
Built with commit 6df380f01629bf3c1a669bda4251fc607189dc80
https://deploy-preview-9722--docsdocker.netlify.com


Adding NomicEmbeddingModel

An integration with Nomic Atlas's Text Embeddings API.

Hi @AndriyMulyar, please review

@AndriyMulyar thanks for the review!


Update Contributing Guide

Updated the run test part.
Issues remain:

The run all test part fails, we need to fix the bug before merging this guide.
More useful configs needs to be added. I am not so familiar with the good tricks for bazel test.

Removed the big picture, added small pictures to each step.
Provided a link to an real pull request example.
After merging the png file in the root folder can be removed.

@rthadur Thanks for the approval. Let's wait for the rest of the reviewers before mergin.


Support Single Logout

IdP 3.2.1+ supports SAML SLO. I see that some versions of CAS do support SLO as well. I did a short search in this code but couldn't find SLO or Logout mentioned. Suggestion would be to add this feature.

How should this module support SLO, exactly?

Sorry for being ignorant - I have not studied yet how CAS does SLO. If its via front-channel, I think chances are good that SAML front channel SLO will be doable. I think that SAML back channel/SOAP SLO would not work.

No not at all. I just figured you had a very specific solution in mind. The gist of it is that both CAS and Shib IdP support SLO. Both support front and back-channel (depending on version). So the easy approach would be to let the Shib IdP process its own SPs via its own preferred and configured back-channel logout, and when it's done you route the flow to CAS and let it do the same for CAS apps.
As such, I can't imagine there would be anything for this plugin to do other than maybe document the possibility?

Back there - we actually implemented something simple (R) given that CAS 4.x supports (still tagged experimental) front channel logout. Just put in logout.vm on the host this line:

This will not do SAML logout propagation to other SPs, but in our case we do not need this feature now.


Document startingDirectory path information

We should document that omitting the startingDirectory value in a profile results in the starting directory of C:\windows\system32.
Reference: https://github.com/microsoft/terminal/issues/6166

It's more nuanced than that. :smile:
Omitting the startingDirectory value in a profile results in...

if you run Windows Terminal from the Start menu: C:\windows\system32
if you run wt.exe from Win+R: %USERPROFILE%
if you run wt.exe from the start menu: C:\windows\system32
if you run wt.exe from the explorer address bar: whatever folder you were looking at

^ Added a note.


[WIP] add parity testing suite for resolver GVK dependency resolution

Description of the change:
Add additional test cases to ensure new and old resolver perform GVK resolution in the same way.
Motivation for the change:
Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Docs updated or added to /docs
[ ] Commit messages sensible and descriptive

Closing to rebase these tests off the latest resolver branch.


How to Handle Click Events on Delete Button?

I'm using Recycler view and managed to show the delete button. Now how can I handle the delete button. I need to get the unique id of clicked delete button. Is it possible?

You can set OnClickListener when you bind the data in the adapter.That way you've already have the unique id of the data. Please take a look at the sample: https://github.com/chthai64/SwipeRevealLayout/blob/master/demo/src/main/java/com/chauthai/swipereveallayoutdemo/RecyclerAdapter.java

I tried but didn't work. It is giving the wrong id after scrolling. This is my adapter. Can you help me with the clickListener? I need to get the corresponding id when delete is clicked.

import com.chauthai.swipereveallayout.SwipeRevealLayout;
import com.chauthai.swipereveallayout.ViewBinderHelper;

public class MyRecyclerAdapter extends RecyclerView.Adapter<CustomViewHolder> {
    private List<FeedItem> feedItemList;
    private Context mContext;

    private final ViewBinderHelper viewBinderHelper = new ViewBinderHelper();

    public MyRecyclerAdapter(Context context, List<FeedItem> feedItemList) {
        this.feedItemList = feedItemList;
        this.mContext = context;

        viewBinderHelper.setOpenOnlyOne(true);
    }

    @Override
    public CustomViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
        View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.mylayout, null);

        CustomViewHolder viewHolder = new CustomViewHolder(view);

        return viewHolder;
    }

    @Override
    public void onBindViewHolder(CustomViewHolder customViewHolder, final int i) {

        // get your data object first.
       final FeedItem feedItem = feedItemList.get(i);

        // Save/restore the open/close state.
        // You need to provide a String id which uniquely defines the data object.
        viewBinderHelper.bind(customViewHolder.swipeRevealLayout , feedItem.getId());

        Glide.with(mContext).load(feedItem.getThumbnail())
                .error(R.drawable.placeholder)
                .placeholder(R.drawable.placeholder)
                .into(customViewHolder.picture);

        customViewHolder.id.setText(Html.fromHtml(feedItem.getId()));
    }

    @Override
    public int getItemCount() {
        return (null != feedItemList ? feedItemList.size() : 0);
    }

    public void remove(int position) {

        feedItemList.remove(position);
        notifyItemRemoved(position);

    }

}

Can you also give me the code where you set the OnClickListener?

I tried this in onBindViewHolder but it is not giving correct id after scrolling.
    ```

delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("------", feedItemList.get(i).getComment());
}
});

delete is  the text view inside secondary layout. I'm not sure where and how to write the click listener for this as I used onswipetouchlistener before using library but now there is no need for onswipetouchlistener.

Can you gudie me to handle and get the id once delete is clicked?
Thanks

Can you show the code where you put that listener and how did you get the i variable? I think you use incorrect i variable. Usually when binding, I use viewHolder.getAdapterPosition() instead of int i

This is how I'm doing it. Don't know where I'm doing wrong but i'm getting wrong comment id after scrolling.
@Override
    public void onBindViewHolder(CustomViewHolder customViewHolder, int i) {

      viewBinderHelper.bind(customViewHolder.swipeRevealLayout , feedItem.getId());
        bind(i);
}
.
.
.
.
public void bind( final int data) {

        delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("OnClick: " , " " + feedItemList.get(data).getComment());

            }
        });
    }

I also tried bind(customViewHolder.getAdapterPosition()); but no lock.

Can you do something like this, get rid of the bind function and put it inside onBindViewHolder
    @Override
    public void onBindViewHolder(final CustomViewHolder customViewHolder, int i) {

        viewBinderHelper.bind(customViewHolder.swipeRevealLayout , feedItem.getId());

        viewBinderHelper.delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                FeedItem feedItem = feedItemList.get(customViewHolder.getAdapterPosition());
                Log.d("OnClick: " , " " + feedItem.getId());

            }
        });
    }

Thanks. Seems it working. Will let you know after checking on the large list of data.


NotifierProvider misses ref

I noticed an API difference between Provider, ChangeNotifierProvider and NotifierProvider. NotifierProvider doesn't take ref as argument in NotifierProvider.creator and NotifierProvider.overrideWith.
All I really want is to define a NotifierProvider<NotifierT, T> and swap the actual implementation of that provider at runtime, making all Providers that depend on NotifierT and T rebuild.
And that already works for Provider<T>!
final featureFlag = StateProvider<bool>((ref) => false);
// Works but doesn't notify when Counter changes
final count = Provider<Counter>((ref) {
  final flag = ref.watch(featureFlag);
  if (flag) {
    return AlwaysFive();
  }
  return CounterImpl();
});

It works with ChangeNotifierProvider<T>!
final featureFlag = StateProvider<bool>((ref) => false);
final count = ChangeNotifierProvider<Counter>((ref) {
  final flag = ref.watch(featureFlag);
  if (flag) {
    return AlwaysFive();
  }
  return CounterImpl();
});

But it does not work for NotifierProvider<NotifierT, T> because NotifierProvider.creator doesn't pass ref as argument. I do not understand the rational between the APIs being different.
final featureFlag = StateProvider<bool>((ref) => false);
// Can't subscribe to featureFlag
final notifierCount = NotifierProvider<Counter, int>(() {
  // ERROR: no ref
  final flag = ref.watch(featureFlag);
  if (flag) {
    return AlwaysFive();
  }
  return CounterImpl();
});

Same for overrideWith which takes ref as argument for Provider and ChangeNotifierProvider but not for NotifierProvider.
Is this an oversight, intentional or just a limitation of the current implementation?

This is a follow-up to #2458

This is intentional.
It doesn't make sense for two reasons:

The Notifier instance is preserved during ref.watch updates.
A "watch" dependency change does not recreate the Notifier; it only re-executes build.
Your proposal is incompatible with code-generation, which will be the default syntax once we have metaprogramming (and doing final provider = MyProvider(...) will be deprecated)

That's fine but it should be documented.
Neither the documentation of Notifer, NotifierProvider nor the landing PR states that NotifierProvider can only ever create a single instance per Container, that is cached throughout the lifetime of the Container.
When I discovered Notifier I saw it as a pure Dart replacement for ChangeNotifier or a pure riverpod alternative to StateNotifier. That there might be a different lifecycle for Notifier and StateNotifier is counter-intuitive to me.

Your proposal is incompatible with code-generation, which will be the default syntax once we have metaprogramming

Can't follow you here. The syntax of the ChangeNotifierProvider example is valid today.
My proposal is to make the NotifierProvider identical to the syntax of ChangeNotifierProvider. How can that be incompatible?

It already is documented that the Notifier instance is preserved across ref.watch updates. Cf the dartdoc of the build method:

On the other hand, the AsyncNotifier will not be recreated. Its instance will be preserved between executions of build.

https://pub.dev/documentation/riverpod/latest/riverpod/AsyncNotifier/build.html

The documentation states:

If a dependency of this Notifier (when using Ref.watch) changes, then build will be re-executed. On the other hand, the Notifier will not be recreated. Its instance will be preserved between executions of build.

It explicitly states what happens when a dependency of Notifier changes, meaning watch is being called inside build().
(My code doesn't call watch inside Notifier.build().) I keep the same instance. All clear
I want to call watch in NotifierProvider.create which is not the dependency of the Notifier. (Because the Notifier doesn't know about the implementation of the NotifierProvider).
watch in NotifierProvider.create is the dependency of the NotifierProvider. To me those are two different things and the latter (my case) is not documented.
final notifierCount = NotifierProvider<Counter, int>((ref) {
  // Changes of featureFlag causes the lambda to run again
  final flag = ref.watch(featureFlag);
  if (flag) {
    return AlwaysFive();
  }
  return CounterImpl();
});

class Counter extends Notifier<int> {
  @override
  int build() {
    // doesn't call watch
    return 0;
  }

  void increment() {
    state++;
  }
}

class AlwaysFive extends Notifier<int> {
  @override
  int build() {
    // doesn't call watch
    return 5;
  }
}

Maybe there are not two different kind of dependencies in the current implementation - one for the NotifierProvider and one of the actual Notifier - but wouldn't that make sense?

I want to call watch in NotifierProvider.create which is not the dependency of the Notifier. (Because the Notifier doesn't know about the implementation of the NotifierProvider).

There's no place where people specify a NotifierProvider.create in the annotation syntax
ref.watch behaves the same no matter where it is. It shouldn't have a different behavior is used within build vs used within the init function of providers.

Maybe there are not two different kind of dependencies in the current implementation - one for the NotifierProvider and one of the actual Notifier - but wouldn't that make sense?

It makes sense but at the same time that would mean we'd effectively create two separate providers.
This can get a bit weird, as the notifier vs the "build" method may have different dependencies/life-cycles/...

Hello @rrousselGit , sorry for late discussion but i want make sure about using NotifierProvider instead of StateNotifierProvider because in documentation is recommended using NotifierProvider.
So i have simple MVVM architecture and have injection file to connected all provider, current implementation work out the box using StateNotifierProvider. But in last update package, i notice have new provider NotifierProvider and i want try migrate to it.
But i notice, NotifierProvider doesn't have ref and i can't migrate to this provider because this limitation. So i want make sure in the future NotifierProvider will have ref argument or not, if not i can keep implementation using StateNotifierProvider.
This some example about my code :
injection.dart
final smsNotifier = StateNotifierProvider<SMSNotifier, SMSState>(
    (ref) => SMSNotifier(repository: ref.watch(_smsRepository)));

final _smsRepository = Provider(
    (ref) => SMSRepository(localDatasource: ref.watch(_smsLocalDatasource)));

final _smsLocalDatasource =
    Provider((ref) => SMSLocalDatasource(box: ref.watch(_smsBox)));

final telephony = Provider((ref) => Telephony.instance);
final _smsBox = Provider((ref) => Hive.box<SMSModel>(hiveSMSBox));

exampleProvider.dart

class SMSLocalDatasource {
  final Box<SMSModel> box;
  SMSLocalDatasource({
    required this.box,
  });

  Future<String> insert(SMSModel model) async {
    await box.put(model.id, model);

    return "Berhasil menyimpan SMS";
  }

  Future<String> delete(String id) async {
    await box.delete(id);

    return "Berhasil menghapus SMS";
  }

  List<SMSModel> getAll() {
    return box.values.toList();
  }
}

class SMSRepository {
  final SMSLocalDatasource localDatasource;
  const SMSRepository({
    required this.localDatasource,
  });

  Future<Either<Failure, String>> insert(SMSModel model) async {
    try {
      final result = await localDatasource.insert(model);

      return Right(result);
    } catch (e) {
      return Left(CommonFailure(e.toString()));
    }
  }

  Future<Either<Failure, String>> delete(String id) async {
    try {
      final result = await localDatasource.delete(id);

      return Right(result);
    } catch (e) {
      return Left(CommonFailure(e.toString()));
    }
  }

  List<SMSModel> getAll() {
    return localDatasource.getAll();
  }
}

class SMSState extends Equatable {
  const SMSState({
    this.items = const [],
    this.onInsert = const AsyncData(null),
    this.onDelete = const AsyncData(null),
  });

  final List<SMSModel> items;
  final AsyncValue<String?> onInsert;
  final AsyncValue<String?> onDelete;

  @override
  List<Object> get props => [items, onInsert, onDelete];

  @override
  bool get stringify => true;

  SMSState copyWith({
    List<SMSModel>? items,
    AsyncValue<String?>? onInsert,
    AsyncValue<String?>? onDelete,
  }) {
    return SMSState(
      items: items ?? this.items,
      onInsert: onInsert ?? this.onInsert,
      onDelete: onDelete ?? this.onDelete,
    );
  }
}

class SMSNotifier extends StateNotifier<SMSState> {
  final SMSRepository repository;
  SMSNotifier({
    required this.repository,
  }) : super(const SMSState()) {
    getAll();
  }

  Future<void> insert(SMSModel model) async {
    final result = await repository.insert(model);

    result.fold(
      (l) => state =
          state.copyWith(onInsert: AsyncError(l.message, StackTrace.current)),
      (r) => state = state.copyWith(
        onInsert: AsyncData(r),
        items: [...state.items, model],
      ),
    );
  }

  Future<void> delete(String id) async {
    final result = await repository.delete(id);

    result.fold(
      (l) => state = state.copyWith(
        onDelete: AsyncError(l.message, StackTrace.current),
      ),
      (r) => state = state.copyWith(
        onDelete: AsyncData(r),
        items: state.items.where((e) => e.id != id).toList(),
      ),
    );
  }

  void getAll() {
    state = state.copyWith(items: repository.getAll());
  }
}

Work tracked in https://github.com/rrousselGit/riverpod/issues/2630


"TÂRGU CĂRBUNEȘTI" is listed in the drop-down menu

Description:
"TÂRGU CĂRBUNEȘTI" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "TÂRGU CĂRBUNEȘTI" in the search bar.

Expected results
The location is listed in the drop-down menu as "Oraș TÂRGU CĂRBUNEȘTI, GORJ".


OpenBlocksTrophies 3.0.4 - Forge 1.20 is asking for a version of Twilight Forest I don't think exist?

Mod Version
OpenBlocksTrophies-1.20.1-3.0.4.jar
Client Log
https://gist.github.com/CsillaAria/691904d45a8523938e672616d321023d
Crash Report (if applicable)
https://gist.github.com/CsillaAria/3a400fc1836070a9761ee5df0845df9b
Bug Description
The game has a loading error and I get the message: Mod obtroophies only supports twilightforest 4.3.1821 or above Currently, twilightforest is 4.3.1809
4.3.1809 is the highest version of Twilight Forest I can find.
Steps to Reproduce
The game crashes when loading, and is asking for a version of the Twilight Forest mod I don't think exists.
Please Read and Confirm The Following

[X] I have confirmed the details provided in this report are concise as possible and does not contained vague information (ie. Versions are properly recorded, answers to questions are clear).
[X] I have confirmed this issue is unique and has not been reported already.

Crap, I forgot I added that so TF trophies don't crash. I'll see if I can get TF updated soon on curseforge, but for now here's a link to a dev build that should fix the issue: build

That fixed the problem! Thank you.

New TF version has released now for anyone still having this issue. Make sure to update! https://www.curseforge.com/minecraft/mc-mods/the-twilight-forest/files/4743133


Add CI with testing and coverage

Pick a CI system - Azure Pipelines is free and has sufficient agents
Run tests in CI on matrix of Python 3.6, 3.7 on Windows 10, MacOS, and Linux
Compute and report coverage on README.md
Build wheel(s), but probably without publishing at first postponed to #8

Resolved with 838c7e34185ee82f9a206b565148c34a3d0a25d7

Resolved with 838c7e34185ee82f9a206b565148c34a3d0a25d7


When using the Android app, it cannot jump correctly

Describe the problem
A clear and concise description of what the problem is.
use custom url https://netbirx.xxx.cn in app
keyclock Report an error：
Invalid parameter: redirect_uri
url： https://keycloak.xxxx.cn/realms/netbird/protocol/openid-connect/auth?audience=netbird-client&client_id=netbird-client&code_challenge=4x5aOykZc9L-0wwV2doJOnAdyFjHt9fC3Vux2x4oSBs&code_challenge_method=S256&redirect_uri=http://localhost:53000&response_type=code&scope=openid profile email offline_access api&state=1b9a5b8730093dba93a06a06ec802865a5b9116904c793db
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
NetBird status -d output:
If applicable, add the output of the netbird status -d command
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

There is no problem in linux peer and winodws peer

The jump is also invalid when using github


Cross project sharing feature is available for all accounts

[Enter feedback here]
Not a feedback, but a question I guess. I see that sharing of service connection is available on most accounts I use. However I see a quote in the docs that user still need to contact MS if they need access to the feature. I feel this warning should be removed from the docs as it causes confusion.

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

ID: 72b90dd0-49f9-4ed4-3010-9a64dde6ae5a
Version Independent ID: 6e679d50-4e94-eee3-8793-af884cc909ca
Content: Service connections in Azure Pipelines & TFS - Azure Pipelines
Content Source: docs/pipelines/library/service-endpoints.md
Product: devops
Technology: devops-cicd-library
GitHub Login: @RoopeshNair
Microsoft Alias: ronai

@onlyutkarsh  Thank you for the feedback, please consider becoming a contributor.
The documentation has been updated and is pending review.

@onlyutkarsh  Thank you for the feedback, please consider becoming a contributor.
The documentation has been updated and is pending review.

Thank you @msebolt! Will definitely look to contribute. I have contributed previously, but since I wasn't sure if the feature is rolled out to all orgs, I decided to raise it as an issue.

Thank you @msebolt! Will definitely look to contribute. I have contributed previously, but since I wasn't sure if the feature is rolled out to all orgs, I decided to raise it as an issue.


Materialize: rename and reorder columns

@erezsh does this also address not only the ordering, but also the point that I raised in Slack that

column names alternately use a/b and 1/2 to represent the left and right tables

Will they all now materialize as a/b instead of 1/2?

@leoebfolsom Let me know if it behaves as you'd expect, so I can merge it in.

This works as expected--thank you! @erezsh

@erezsh please merge when you're ready.


Update stable version in repo from 1.6.1 to 1.6.3

Think about update stable version to 1.6.3
Version: stable=1.6.1 (230 days old) => latest=1.6.3 (15 days old)
Installs: stable=259 (62.41%), latest=26 (6.27%), total=415
Click to use developer portal
Click to edit
Do not close this issue manually as a new issue will be created if condition for update still exists.
Please drop a comment if any reason exists which blocks updating to version 1.6.3 at this time.
Note: This is an automatically generated message and not personally authored by bluefox!
@mcm1957 for evidence

releasing v1.6.4 with some fixes for adapter checker

This issue seems to be outdated.
This issue suggests to update the stable version of this adapter to 1.6.3 but the current stable version is already 1.6.3.
So this issue should be closed.
@mcm1957 for evidence


Chris 3.0 recycler view

Both adapters have a section in their start  that has RecyclerAdapter specific stuff. The ArrayAdapter and CursorAdapter also almost totally take from AOSP. As such I added their licensing.

+1


[DEFER] Resident Tasks: Optimizing volume matching

Remove linear scan over all tasks from offer matching. E.g. in PersistentVolumeMatcher, TaskOpFactoryImpl.inferForResidents.

Note: This issue has been migrated to https://jira.mesosphere.com/browse/MARATHON-1992. For more information see https://groups.google.com/forum/#!topic/marathon-framework/khtvf-ifnp8.


Housekeeping: Remove wrong redundant Spring Boot version declaration

Closing this because it's obsoleted by https://github.com/prebid/prebid-server-java/pull/3180


Bump provisioning test wait to 45 minutes

Bumping provisioning test wait timeout from 15 minutes to 45.

@snasovich GH actions passed but drone failed on python tests:
FAILED test_role_template.py::test_update_role_template_permissions - assert ...

Can we just merge?

@snasovich GH actions passed but drone failed on python tests:
FAILED test_role_template.py::test_update_role_template_permissions - assert ...

Can we just merge?

Yes. Merging now.


Added updated submission stats.

Changes proposed in the pull request:

Updated stats some 16h30m before submission closes...

@snukky -- could you merge this when you have a chance? I won't have SSH access for the next hour or so... Thank you!

Thank you, @snukky!
On Thu, Jun 17, 2021, 9:51 PM Roman Grundkiewicz @.***>
wrote:

Merged #46 https://github.com/AppraiseDev/OCELoT/pull/46 into master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/AppraiseDev/OCELoT/pull/46#event-4906285863, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACSH2HSAHOYZS245FZJWODTTJG2HANCNFSM464JOMWA
.

No problem, it's now deployed, including the extra fields on the team page from v0.5.0. Thanks!


[BUG] Standalone app (0.77) crashes at startup on MacOS Big Sur

Describe the bug
The standalone app v 0.77 crashes at startup (screenshot and stacktrace provided below).
I'm running MacOS Big Sur on a late 2009 iMac and the installation (which is not supported by Apple) has been done thanks to the project https://dortania.github.io/OpenCore-Legacy-Patcher/ which allows to install MacOS versions on computers not supported anymore. Big Sur has been the best choice for my late 2009 iMac. The OS is running smooth and even faster than the previous High Sierra.
Screenshots

Desktop (please complete the following information):

OS macOS 11.7.10
Plugin version: 0.7.7
Standalone
Audio interface: Focusrite Scarlett 212 3rd Gen
Sample rate 44.1 kHz
Buffer size 256 samples

Additional context
Here's the stack trace
nam_stack_trace.txt

This issue can be marked as "invalid" because it's very probably due to the lack of a GPU capable of supporting the Metal libraries (GarageBand as well is crashing due to this reason). There's no reason to provide this kind of support on such an old hardware.


ticdc: Data Race Problem in TestConflictBasics

What did you do?
go test -run=TestConflictBasics -race
What did you expect to see?
pass successfully
What did you see instead?
==================
WARNING: DATA RACE
Write at 0x00c0002cea90 by goroutine 98:
github.com/pingcap/tiflow/pkg/causality/internal.(*Node).Free()
/root/tiflow/pkg/causality/internal/node.go:170 +0x10a
github.com/pingcap/tiflow/pkg/causality/internal.(*Slots[go.shape.*uint8]).Free()
/root/tiflow/pkg/causality/internal/slots.go:116 +0x2b4
github.com/pingcap/tiflow/pkg/causality.(*ConflictDetector[go.shape.*uint8,go.shape.*uint8]).runBackgroundTasks()
/root/tiflow/pkg/causality/conflict_detector.go:115 +0x296
github.com/pingcap/tiflow/pkg/causality.NewConflictDetector[go.shape.*uint8,go.shape.*uint8].func1()
/root/tiflow/pkg/causality/conflict_detector.go:66 +0xab
Previous read at 0x00c0002cea90 by goroutine 95:
github.com/pingcap/tiflow/pkg/causality/internal.(*Node).maybeReadyToRun()
/root/tiflow/pkg/causality/internal/node.go:200 +0x3d
github.com/pingcap/tiflow/pkg/causality/internal.(*Node).Remove.func1()
/root/tiflow/pkg/causality/internal/node.go:150 +0x3e
github.com/google/btree.(*node[go.shape.*uint8]).iterate()
/root/go/pkg/mod/github.com/google/btree@v1.1.2/btree_generic.go:522 +0x645
github.com/google/btree.(*BTreeG[go.shape.*uint8]).Ascend()
/root/go/pkg/mod/github.com/google/btree@v1.1.2/btree_generic.go:779 +0xee
github.com/pingcap/tiflow/pkg/causality/internal.(*Node).Remove()
/root/tiflow/pkg/causality/internal/node.go:148 +0x126
github.com/pingcap/tiflow/pkg/causality.(*ConflictDetector[go.shape.*uint8,go.shape.*uint8]).Add.func1.1()
/root/tiflow/pkg/causality/conflict_detector.go:86 +0x52
github.com/pingcap/tiflow/pkg/causality/tests.(*workerForTest).run()
/root/tiflow/pkg/causality/tests/worker.go:95 +0x193
github.com/pingcap/tiflow/pkg/causality/tests.newWorkerForTest.func1()
/root/tiflow/pkg/causality/tests/worker.go:61 +0x86
Goroutine 98 (running) created at:
github.com/pingcap/tiflow/pkg/causality.NewConflictDetectorgo.shape.*uint8,go.shape.*uint8
/root/tiflow/pkg/causality/conflict_detector.go:64 +0x445
github.com/pingcap/tiflow/pkg/causality/tests.newConflictTestDriver()
/root/tiflow/pkg/causality/tests/driver.go:43 +0x16e
github.com/pingcap/tiflow/pkg/causality/tests.TestConflictBasics()
/root/tiflow/pkg/causality/tests/integration_test.go:39 +0x10a
testing.tRunner()
/root/go/src/testing/testing.go:1595 +0x261
testing.(*T).Run.func1()
/root/go/src/testing/testing.go:1648 +0x44
Goroutine 95 (running) created at:
github.com/pingcap/tiflow/pkg/causality/tests.newWorkerForTest()
/root/tiflow/pkg/causality/tests/worker.go:59 +0x29c
github.com/pingcap/tiflow/pkg/causality/tests.newConflictTestDriver()
/root/tiflow/pkg/causality/tests/driver.go:41 +0xb2
github.com/pingcap/tiflow/pkg/causality/tests.TestConflictBasics()
/root/tiflow/pkg/causality/tests/integration_test.go:39 +0x10a
testing.tRunner()
/root/go/src/testing/testing.go:1595 +0x261
testing.(*T).Run.func1()
/root/go/src/testing/testing.go:1648 +0x44
==================
Versions of the cluster
Upstream TiDB cluster version (execute SELECT tidb_version(); in a MySQL client):
(paste TiDB cluster version here)

Upstream TiKV version (execute tikv-server --version):
(paste TiKV version here)

TiCDC version (execute cdc version):
(paste TiCDC version here)

/severity/major


The current epoch just keeps on loading

Not related to the contract itself but related to the UI part maybe.

This has been fixed for a while, but as mentioned, it was actually an UI bug :)


Anthos Service Mesh should be mapped to OSM not Service Fabric Mesh

at https://docs.microsoft.com/en-us/azure/architecture/gcp-professional/services#containers-and-container-orchestrators
Anthos Service Mesh should be mapped to Open Service Mesh (OSM) NOT Service Fabric Mesh

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

ID: 87304679-95c2-7dac-a2b5-4ce17d6967f3
Version Independent ID: 8acbb5ee-230c-e23a-a315-0d969258bd8f
Content: Google Cloud to Azure services comparison - Azure Architecture Center
Content Source: docs/gcp-professional/services.md
Service: architecture-center
Sub-service: cloud-fundamentals
GitHub Login: @EdPrice-MSFT
Microsoft Alias: petutonnthos Service Mesh Service Fabric Mesh

Agreed.  OSM is the closest match we have at this point, and even that isn't really that great a mapping since OSM is k8s-cluster-scoped specific where as Anthos is more broadly scoped.  Service Fabric Mesh is not the right mapping for sure.


Dead link on QML page

Steps to reproduce the problem

Go to https://learn.qiskit.org/course/machine-learning/training-quantum-circuits#training-13-0
Scroll down to the text that reads "Instead of doing this manually, we can use Qiskit's Gradient class for this."
Click Gradient link

What is the current behavior?
404 error
What is the expected behavior?
looks like it should point to something around gradients that was under aqua. not sure what the new URL is. @frankharkins should know.
Environment (optional but very helpful)

all

Note: this same broken link appears twice in this section.

There is also a broken link around natural gradient.

This is fixed in #795 and can be closed

Great. thank you! closing.


Support comma as a hotkey

Right now, we use comma as a separator between hotkeys, but this precludes us from using commas a hotkey!
My solution is to allow specifying a comma hotkey via data-hotkey="comma", which gets rewritten as ,. I'm open to alternative strategies though, let me know what you think.

Thanks for the PR @colinwm! We're trying to keep consistency with event.key to make the translation straightforward. What do you think about improving the parser instead, to catch cases like this? Perhaps it's possible to make this intuitive enough while also making , as both the separator and the key symbol?

Perhaps it's possible to make this intuitive enough while also making , as both the separator and the key symbol?

@keithamus I think it'd be tough to make a parser that would correctly parse commas as both separators and key symbols. E.g. the parser would need to be able to handle some pretty weird cases, like:
, --> comma
,,. --> comma or period
Ctrl+Meta+,,x --> ctrl+meta+comma or x
which IMO is kind of unreadable and would require a parser that might contain some bugs. But let me know if you really want me to implement it.

@theinterned updated to use title case. @keithamus let me know what you think!

@colinwm You can wait to hear what @keithamus has to say, but if the Comma route works, then please also update the README to mention it. There's a "Hotkey string format" section that it would make sense in here https://github.com/github/hotkey#hotkey-string-format

, --> comma
,,. --> comma or period
Ctrl+Meta+,,x --> ctrl+meta+comma or x

None of these seem like ambiguous cases to me. They're not especially nice to look at for sure, but they're not ambiguous.
It'd be worth discovering if there ambiguous cases but I cannot think of one.

@keithamus I've implemented a parser that can understand commas, PTAL. It's somewhat ugly but seems to work. Another annoying thing to consider is sequences, where commas can be used as keystrokes or separators. Although it's definitely very confusing, I believe it's not ambiguous. Examples:
, a b,c --> [Sequence(,ab), Hotkey(c)]
a , b,c --> [Sequence(a,b), Hotkey(c)]
Let me know what you think.

Thanks for the review @keithamus. I added a few more tests as you suggested and filtered out empty sequences/hotkeys. Will merge now


Use only free content as examples in documentation and elsewhere.

Given the events of yesterday with youtube-dl, it is very unwise to be using non-free Blur songs as example usages of the tool. Please immediately replace all doco and screenshots, and any commentary in the code itself, with examples that download content that is not restrictively copyright licensed.

https://github.com/github/dmca/blob/master/2020/10/2020-10-23-RIAA.md

https://news.ycombinator.com/item?id=24873742

yes, definitely needed to make some changes given recent events. Added a legal disclaimer too:
https://github.com/Athlon1600/youtube-downloader#warning-legal-disclaimer
which is something that youtube-dl did not previously have. Hopefully we're going to be okay.


[Enhancement] Loading in-directory settings.json for portable configuration

Would it be possible to load settings.json (maybe bindings.json, ...) from current directory, so you can create a sort of portable configuration? I use micro mainly on Windows, so it would be really useful to have a copy of my settings in the same folder I keep on my flashdrive.

I think you could replicate this with a script that passes the additional flags to micro on startup or redefining XDG_CONFIG_HOME to be pointed at a directory to make the XDG_CONFIG_HOME/micro/settings.json resolve arbitrarily?

Thanks a lot @samdmarshall, I'll look into it

@samdmarshall, it worked like a charm, thanks, just created a .cmd file with the following content:
@echo off
setlocal

set XDG_CONFIG_HOME=%~dp0
micro.exe %*

endlocal

@samdmarshall Would this work for the other micro configurations? ( plugins, colorschemes, etc. )

#!/usr/bin/env bash

export XDG_CONFIG_HOME="./microconf"
micro $@

This way you can drop stuff in ./microconf, even syntax files and plugins, however of course user installed plugins and colorschemes don't work (which kind of is the point of this in-direcotry settings.json?). If you want to let the user make most choices, but only force some settings you could use flags, example:
#!/usr/bin/env bash

micro -tabsize 8 -eofnewline false $@

Also these scritps work on free operating systems such as BSD and GNU/Linux, and even on OSX and now Windows now that it has that Linux subsystem ;^)

@samdmarshall Setting XDG_CONFIG_HOME would cause problems with other programs that look for that, wouldn't it?

It would, which is why you would need to redefine it within a scope where it would only impact micro. it would still impact programs spawned by micro so i wouldn't call this a recommended strategy, but it is a solution to this specific problem.

Maybe it would be good for micro to first check for a MICRO_CONFIG directory and if that is empty or undefined then use the XDG_CONFIG_HOME instead?

I think that is up to you, i think this is edge-case behavior that doesn't need official support beyond XDG_CONFIG_HOME. I think it would be another matter if micro had a single config file, but that isn't the case.

or maybe a --local flag which chechs for config files in the current directrionary and if nothing is found it will fallback to the default files?

How about a --config flag which accepts a directory filepath?
I want to use ~\AppData\Local\micro as config directory for Micro in Windows.

@janlazo That's not a bad idea at all, actually. I'll look into implementing this.
@zyedidia Also not a bad choice. I'll look into implementing this as well.
Should be simple to implement. :)
Also, I understand the reasoning for not having micro check its run directory for config by default, but maybe as @mame98 suggested have a flag for it. -p and --portable sound good to everyone?
( Personally, I don't at all mind adding command line flags! I think they're great and they're fairly trivial to implement. And they justify the man page I'm writing for micro. :) )
The priority I'm suggesting for finding config goes as follows:

If micro is run with the --no-config flag, alert user that their configuration changes will not be kept and run micro reading the default configuration from micro's internal files.
Look in micro's location for directory config if micro is run with the --portable flag or MICRO_CONFIG_HOME is set to %portable%. Create it and fill with default configuration on micro's first run with the portable flag. Issue a warning if micro cannot write to its current working directory and fall back to next config location.
If MICRO_CONFIG_HOME is set and not %default% or %portable%, then treat it as a path and try to locate the specified directory. If it succeeds, load config. If not fall back.
If XDG_CONFIG_HOME is set, look there. If it's not set, fall back.
Look in/attempt to create ~/.config/micro and use that.
If none of the above are applicable/possible, look in micro's location for config or attempt to create it.
If all of the above fail utterly... print an error message that explicitly informs the user that their configuration cannot be found and settings changes will not be kept and then run micro anyway with the default settings read internally.

Also, if no configuration is found by the above (i.e. it's micro's first run for that user ), attempt to find and copy from /etc/micro. If it cannot be found then create the config from micro's internal files. ( Rationale: Distribution packaging as per the whims of Debian or Fedora, and to allow sysadmins control over the default behaviour of micro for all users without having to keep a ~/.config/micro/ in /etc/skel. As well as just general program convention for Linux. This will not affect OSX users or Windows users as if micro can't find /etc/micro it'll behave as it currently does. This will largely only be applicable for people who install micro by package instead of manually, but theoretically any sysadmin could just copy their micro configuration to /etc/micro to be used for this purpose. )
While I'm tinkering with this, there's also some directories micro should be making in its initial configuration setup. It's a bit confusing to have documentation referring to directories that are not there by default. I'll fix this.
Anyone have any issues with this proposal or suggested amendments?

that seems overly complicated imo

I think it's best to just use MICRO_CONFIG_HOME.
If you'd like to implement this, it should be fairly simple. Here are some pointers:
There's a nice variable called configDir in the code, and it gets set in the InitConfigDir function. I recommend just checking if MICRO_CONFIG_HOME exists and if it does set configDir equal to it, and if not, do the little xdgHome logic that currently exists.
If you are using the MICRO_CONFIG_HOME I think it should be assumed that this directory already exists and therefore does not need to be created. If the directory doesn't exist maybe the best behavior is to spit and error message? Or maybe it should stay silent and just use default settings.

@zyedidia There are cases in which it's plausible that both MICRO_CONFIG_HOME and XDG_CONFIG_HOME would not be set and could not be set, and there's plausible use cases for having a search for the config directory in the same directory micro is run from. For instance, running on Windows from a flash drive while logged in as an unprivileged user. ( In other words, the "I'm at the library" use case. ) And again, looking in /etc/micro is useful for the reasons I've already listed.
Having a --config <path> flag is just standard open source convention ( inasmuch as that's a thing ) and is handy for all sorts of fringe cases.
You're absolutely right though, it's a little on the overcomplicated side. I'd be more than willing to implement it though. :) ( To be frank, if anything gets cut I think it should be looking in XDG_CONFIG_HOME, I was just going to leave that in for reverse-compatibility. )

Would micro --portable --config foo/bar/path behave as micro --config foo/bar/path --config . where . is the current directory?
It ignores foo/bar/path and uses . as its runtime directory.

I feel strongly that we should support XDG_CONFIG_HOME and a --config-dir flag. The use of XDG_CONFIG_DIR is a universal standard for command line tools to put their configuration files. If micro is unable to read or write to the directories provided it should supply an error message to the user then default to the built-in defaults (since this is one of the features of the editor). I think it is safe to default to using ~/.config if XDG_CONFIG_HOME is not defined in the env.

I agree with @samdmarshall although I don't see why --config-dir or the like is superior to an env variable. If you'd like to use a specific directory not attached to XDG then you can just export an env variable instead of having to re-alias micro to micro --config-dir dir. If neither MICRO_CONFIG_HOME nor XDG_CONFIG_HOME is defined then ~/.config/micro should be used (as per the XDG spec).

@zyedidia if we have both XDG_CONFIG_HOME and MICRO_CONFIG_HOME then i agree with not seeing a need for a command line flag to specify that.

@zyedidia Again, what if you're in an environment where you're not allowed to set environment variables? Besides that there's not really a benefit of --config-dir over an env variable. As for setting up an env variable, that'd be useful for more persistent redirects of the config search without having to specify --config-dir every time. So there's arguments to be made for both, but whether either is really necessary is more a decision for the end-user, imo.
As per using XDG_CONFIG_HOME, I disagree with @samdmarshall I think that because we're supporting Windows and theoretically any Linux config, including ones not related to X ( servers, Wayland, Mir, etc. ) we can't assume XDG_CONFIG_HOME is set. I'm sure it's probably set on Mac for legacy reasons specific to Mac, but ah, I think supporting it should be seen as a reverse-compatibility matter and treated as such, with higher priority going to either a --config-dir flag or MICRO_CONFIG_HOME. I still believe that the use cases are enough to support both, not to mention I don't believe the implementation and maintenance would be complex enough to give us a reason not to do so. ( It's the difference between about six lines of code we're talking here, so it's a far cry from bloat to support both. ) I already have the working knowledge to implement any and all of what I specified above and could work it in as a pull request, I'm basically just trying to figure out the implementation that works best for everyone.
@janlazo Yeah, that was what I was thinking would be best.

@GeigerCounter if you have access to a terminal, then you should be able to run env MICRO_CONFIG_HOME=/foo/bar micro file.txt when you launch, thus being able to impact the set of environment variables. Also I strongly feel that "not being able to set environment variables" compared to "not having XDG_CONFIG_HOME" is a grossly incompatible comparison. The use of XDG_CONFIG_HOME is a universal standard. Additionally, as mentioned, if that is not set, we are proposing to default to the existing behavior of assuming ~/.config/micro/ (which on vast majority of systems would be the same location as $XDG_CONFIG_HOME/micro/). This change would have the smallest impact on existing usage.
The addition of a new command line flag would vastly increase the complexity of micro due to now having not only flags to set individual settings but also flags which cause conflict in the specific behaviors set by other flags. That is not desired and would make it harder to debug any future issues due to conflating two sets of conflicting options.

@zyedidia Does micro support overriding everything discussed here with a lua script before init.lua runs such that I can manually adjust it in runtime? If not and --config-dir is not supported, then I can't rely on micro in cmd.exe for Windows. cmd.exe defaults to C:\Windows\System32\ so Vim will be my only choice.

@samdmarshall What about Windows? Also, I wasn't aware that micro had the capability to set individual settings by flags. If anything, that seems to be the overcomplexity. Also, see janlazo's answer. Not everybody's running Mac or Linux. And not everybody is running standard Linux. It may be a "universal standard" for a subset of computers, but not for all of them. I still think it's worthwhile.

You can now use the --config-dir option to set the configuration directory.


feat: explicitely display files that are being uploaded

Files that are uploaded to dufs are first written in a temporary files where the extension finished by "dufsupload", before being renamed without the extension once the upload is completely finished.

close #1


[BEAM-1267] Adds ignoreUnknownValues option to BigQuery.Write

Hi @dhalperi, please could you take a look and let me know if you have any feedback?
I've not tested it fully yet. Do you have any suggestions for the best way to test it?
Perhaps I should also update an example to include this option?

Thanks @g-eorge for this great feature. I've added @peihe to the review, hope that he can provide guidance on testing. Overall, this looks great.

Thanks @dhalperi @peihe for the feedback, I'm happy to take another look at it. Unless someone beats me to it.

Yes, @g-eorge, please do take another pass if you get the chance. Thanks!

Hi @g-eorge, just checking in. Any interest in picking this back up, or something we can do to help?

Hi @dhalperi, yes, sorry about the delay have been swamped. Will try to look at it soon.

@g-eorge any update on this one?

@peihe I have opened a PR here for BEAM-1306. When you are happy with that I will look at finishing this up.

Since I'm busy refactoring BigQueryIO (https://github.com/apache/beam/pull/2415), I can help review these PRs. @dhalperi or another committer will still have to be the one to merge.

Coverage decreased (-0.5%) to 69.348% when pulling 953d7c5e722be39dc4d3b91071a27361282364ef on g-eorge:bq-option-ignoreunknownvalues into 810db7f990a9e39179f3613347ab5cde7e7c650c on apache:master.

R: @reuvenlax -@dhalperi

Is this still needed? Unfortunately the underlying BigQuery transform has changed quite a lot, so some merging is needed.

I would definitely appreciate if this made it's way into beam!

Sure, though BigQueryIO has changed quite a bit so you might have to a bit of conflict resolution.

@reuvenlax this is currently blocked by this refactor requested by @peihe . If it is now possible to create pipelines with options like ignoreUnknownValues, then it's not necessary. Otherwise, I'm happy to find time to bring it up to date with the latest code, so long as I can get timely feedback.

This PR hasn't been updated in a long time - do you plan to continue it?


Unable to Open & Dock 'Templates' from 'Data Management'

(A) Setup:
IDE: Eclipse (2021-12 for Enterprise Java & Web Development)
Perspectives: DBeaver (Plugin: 21.3.3)
Database: Oracle (21c Xe Full)
OS: mac (Catalina)
(B) Problem:
When Templates is opened, using the path:
Eclipse: Window > Show View > Other > General > Templates
it opens Templates from 'SQL Editor' from Database.
But, there is NO way to open Templates from Data Management
(C) Suggested Solution:
Use the same path, but combine the results from Templates of both Database and Data Management, and present it in a single window, but under two separate sub-titles, 'SQL (Database)' on top, followed by 'SQL (Data Management)':
Eclipse: Window > Show View > Other > General > Templates
(D) Alternative:
Replace the paths, and present it separately under the menus 'Database' and 'Data Management', and pull the data from the respective sources:
Eclipse: Window > Show View > Other > Database > Templates
Eclipse: Window > Show View > Other > Data Management > Templates
(E) Second Alternative:
Just add an additional menu to the path, give the source names in parentheses, and pull the data from the respective sources:
Eclipse: Window > Show View > Other > General > Templates (Database)
Eclipse: Window > Show View > Other > General > Templates (Data Management)

@aluva Can you clarify what data management templates do you mean? Or add a screenshot if it is possible.

There has been no update for a long time. If the issue is still actual, feel free to reopen it.


Usage with other packages

The SEO package could be integrated very well with inbuilt widgets in flutter. But when it comes to third-party packages such as AnimatedText, it is not the case. There is no way to integrate the SEO package with packages. Are there any upcoming releases or workaround for this one?

The package isn't connected with any inbuilt widgets, you can wrap within Seo.text(...) anything you need. For example for AnimatedText you can do this:
Seo.text(
  text: 'AWESOME OPTIMISTIC DIFFERENT',
  child: AnimatedTextKit(
    animatedTexts: [
      RotateAnimatedText('AWESOME'),
      RotateAnimatedText('OPTIMISTIC'),
      RotateAnimatedText('DIFFERENT'),
    ],
  ),
);


add dependabot v2 config (#71 alternative)

Description
Saw #71 and thought to myself why not use Dependabot v2 from the get go?
So here a alternative using v2 (if this gets accepted over #71 ill open the same PR to web)
NOTE: yes the npm package manager seem too work fine in this case (+ according tho the docs, see the note at the bottom of the table). If you want to see it in action check out the master of my fork there I tested this :wink:
Changes

add Depenndabot v2 config

Issues

N/A

Okay may have to disregard this, as I just checked and the PRs opened by the v2 config seem to only touch the yarn file but not the package.json :frowning_face:

Depending on the version change some updates will only touch the lock file, so that is expected.

I can and will open a PR for the web repository too then :wink: (soon :tm: )


Nan handling with eval

For a df I'd like to handle nan's with the query functionality. df.query('~A.isnull() & ...') doesn't work because eval doesn't support function calls ("NotImplementedError: 'Call' nodes are not implemented"), and df('A != @nan') fails in the way you'd expect it to with nan comparison (that is, not filtering anything). Should we (or do we already) have a way to filter nulls with query()?
Also, I can open a separate issue if it deserves one, but this related error message seemed a bit funny
df.query('A != @np.nan')  # => NotImplementedError: N-dimensional objects, where N > 2, are not supported with eval

The standard trick to identify NaN is to use the fact that NaN is the only number x such that x != x. So something like df.query('A != A & ...') should work.

Ah very cool! Looks like that'll be sufficient, thanks.


--fp16 causing loss to go to Inf or NaN

This is an error I received a few days ago. Haven't been able to try it on the newest release so do let me know if you found out what was going on already.
Anyway yeah it seems a division is perhaps causing an underflow or something of that nature with higher batch sizes - not sure exactly. I have a W&B report that I will link shortly to an example run which produced this issue.

@afiaka87 oh oops! i realized deepspeed handles gradient clipping, made the change https://github.com/lucidrains/DALLE-pytorch/blob/main/train_dalle.py#L278 (it may or may not make a difference)

Hopefully that fixed it! Won't be able to test with those batch sizes myself unfortunately. Not today anyway. I'll try to remember to check this again though.

This is just a general problem with fp16. It's much more sensitive to the parameters. The gradient clipping change with DeepSpeed is great, though, lets us clean the code up a bit more!

This is also the reason why I haven't PR'd fp16 for train_vae.py – the default parameters there lead to the same issue.

I am currently training with deepspeed and --fp16 and taming transformer, and interestingly, the loss gets infinite if the batch_size is set too high (below the VRAM limit of course)... interesting!

Still having this issue unfortunately. Going to tinker with some deepspeed config settings to see what works.

Since the discussion revolves so heavily around DeepSpeed, I feel it's important to remind you that the same behaviour can be seen without DeepSpeed as well.
Changing DeepSpeed's parameters may be able to fix this since you can't do the same in PyTorch so easily; but in the end, it's the training parameters that cause these issues to appear in the first place.

For people training with fp16:

OpenAI tried and they had a ton of trouble getting it to work
Consider using horovod with automatic mixed precision instead.
If you're on a single GPU - use deepspeed's amp config (uses Nvidia apex under the hood)

Thanks @janEbert - i hadn't done the due diligence needed to understand this was such a task. I do think adding a "skip up to 5% of iterations if they give Inf NaN values" feature would be a simple fix which they suggest in the paper.
I don't know that I could recommend using fp16 even with that fix in place though now that I know enough. My biggest concern is that a lot of people training are sort of "VRAM cutters" - basically increasing batch size and toggling train_dalle.py arg until they can increase batch size again. Rinse, wash, repeat. They turn on fp16 and get something like 25%-50% memory savings basically for free and assume it's going to help when they can't actually increase the batch size anymore and may even have to decrease their batch size to stabilize training. At that point there's really no reason not to just use fp32 - it's better and will happily use up all your VRAM without having over/underflow issues.
It's definitely impressive work they did to find the correct hyperparameters for working with fp16 but I think implementing all of their changes would need to happen at the network level - which I don't think I'm yet qualified to figure out. We have a reversible transformer and the 1024 token VQGAN though - they didn't.
@lucidrains @janEbert I have neither the motivation nor the skillset to implement these changes. Do either of you? Otherwise I'm just gonna close this I think. Maybe we could print a message to this issue's url for people training with fp16? And do the loss skip thing?

This is also the reason why I haven't PR'd fp16 for train_vae.py – the default parameters there lead to the same issue.

Again - sorry I didn't follow up on this well enough. I guess this wound up in there despite your protest? I agree now - it's worth considering removal from the default train_dalle.py. People who really need it can lookup the deepspeed config for it on the wiki.


go: add 160 Intersection of Two Linked Lists

File(s) Modified: go/160-Intersection-of-Two-Linked-Lists.go
Language(s) Used: go
Submission URL: _https://leetcode.com/problems/intersection-of-two-linked-lists/submissions/864468098/_

File renamed to go/0160-Intersection-of-Two-Linked-Lists.go


Empty database files when running setup.sh on Linux containers

I'm testing the setup.sh in Ubuntu and Arch Linux Docker containers. The setup failed to install the required databases, i.e. empty files.
The data is downloaded and somehow processed, though.
I'm still working through setup.sh, re-downloading Cdd over and over.

this bit is working now. The cdd libraries are being downloaded and being formatted, but take a really long time. To decrease the time I formatted only the the models in cdd.pn since this had the largest list. @janpb  will this be a problem?


Improve cucumber README instructions

The README should explain that by default
Then I should receive an email
checks for emails sent to<EMAIL_ADDRESS>and people should read email_steps.rb on how to customize this. I had a hard time figuring out why email_spec wasn't finding any emails.

Closed by https://github.com/bmabey/email-spec/pull/66. Thank you @pnc!


Does anybody have a better rule set which includes blocking portscans etc?

Looking for a pf rule set that includes blocking portscans to start off from. Does anybody have any?

If you come up with good rules, please send a PR!


Add disable_scripting build option

Added build option disable_scripting which disables the GDScript module and removes the script property and make the get always return a nullptr also fixes a bug where having no scripts languages in an editor build would not even load a project this is for GDExtension projects

This fixes that as well but it also set it to always return null so the optimizer removes a lot of unused script code

It reduces the file size by 2MB and 72bytes are removed off of every Godot object which adds up pretty fast

@Riteo

The user can still pass gdscript=no. A proper fix would be to solve the core issue causing the editor malfunction with no scripting backends.

hey so as far as i can tell gdscript=no does nothing. from reading the help it looks like the arg is actually module_gdscript_enabled=no
the help:
module_freetype_enabled: Enable module 'freetype' (yes|no)
    default: True
    actual: True

module_gdscript_enabled: Enable module 'gdscript' (yes|no)
    default: True
    actual: True

module_glslang_enabled: Enable module 'glslang' (yes|no)
    default: True
    actual: True

@Riteo  I have made the fix pr


RadioGroup should handle onChange of it's children and return it's name in it's event

CheckboxGroup already does this (for reference)


Confirmation gives refresh request

Uh-oh!
Something has gone wrong likely having to do with internets and tubes. Refresh your browser to get back in business.

Same problem here.

This is likely related Issue #349 for which a fix has been identified. It will be available at some point. Not sure when.

I believe 0.4.6 will fix this issue for you. Let me know if that's not the case.

I'll go ahead and close this. Feel free to re-open if there's still a problem for you.


Without an exit in the trap, the remainig commands still get executed.

I pushed something wrong last time I created the fix for the removing of the tags.-Files. I forgot an exit, so the script didn't really stop and the files could remain nevertheless.

Is there something wrong with this push-request? Just asking. :)

Nothing wrong, I was just busy with some of my other pet projects, and sadly my free time is quite limited.

Merged, thanks! :)


Fix finalizer error when propagating subscriptions

Removed finalizers when propagating subscriptions to managed clusters

Thank you for the PR.


ts4900 reboots after shutdown

Board shutdown but if no further action is taken, after a minute or so the board is booted again and the flashing procedure is hence restarted.

Board shutsdown but if no further action is taken, after a minute or so the board is booted again and the flashing procedure is hence restarted.

[  255.445930] BTRFS: device label resin-data devid 1 transid 19 /dev/mmcblk2p6
[  267.402323] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
[  267.430265] systemd-journald[201]: Received SIGTERM from PID 1 (systemd-shutdow).
[  267.465837] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
[  267.490983] systemd-shutdown[1]: Unmounting file systems.
[  267.497547] systemd-shutdown[1]: Unmounting /mnt/boot.
[  267.545407] systemd-shutdown[1]: Unmounting /mnt/bootorig.
[  267.595647] systemd-shutdown[1]: Unmounting /var/volatile.
[  267.636909] systemd-shutdown[1]: Unmounting /tmp.
[  267.743521] systemd-shutdown[1]: All filesystems unmounted.
[  267.749305] systemd-shutdown[1]: Deactivating swaps.
[  267.754660] systemd-shutdown[1]: All swaps deactivated.
[  267.760066] systemd-shutdown[1]: Detaching loop devices.
[  267.774453] systemd-shutdown[1]: All loop devices detached.
[  267.780108] systemd-shutdown[1]: Detaching DM devices.
[  267.785688] systemd-shutdown[1]: All DM devices detached.
[  267.797884] systemd-shutdown[1]: Powering off.
[  267.819875] imx2-wdt 20bc000.wdog: Device shutdown: Expect reboot!
[  267.826272] reboot: System halted

Fixed in https://github.com/resin-os/resin-ts/pull/60, https://github.com/resin-os/resin-ts/pull/59


How to export .json . file

Please help me to export the .json file. I don't know how to edit

use ./hack-browser-data -f json in your terminal.


add py36 to CI builds

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@af59fd8). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master      #23   +/-   ##
=========================================
  Coverage          ?   91.66%
=========================================
  Files             ?        6
  Lines             ?      120
  Branches          ?       18
=========================================
  Hits              ?      110
  Misses            ?        4
  Partials          ?        6

Impacted Files
Coverage Δ

gisutils/raster.py
96.15% <100%> (ø)

Continue to review full report at Codecov.

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


core: dispatcher test suite and stream completion

Description: This PR adds an initial test suite for the Dispatcher implementation. This test suite is a step in allowing us to iterate on the remaining issues (stream completion, data races, buffer passing, etc) with more confidence. Additionally this PR add logic to track stream state (local and remote) in order to track stream completion state. Once the stream is completed (both local and remote are closed) the stream is removed from the http dispatcher's stream map.
Risk Level: medium - this PR takes into account stream state to modify the http dispatchers stream map.
Testing: added initial suite of unit tests.
Fixes #302
Signed-off-by: Jose Nino<EMAIL_ADDRESS>

Alright, this is ready for review @goaway. Note per our discussions that the implementation detail of how this PR tracks stream completion state (via local booleans right now) is subject to change once we merge https://github.com/envoyproxy/envoy/pull/7752. However, the test suite is completely agnostic of this fact.

This PR depends on and is currently failing because this Envoy PR has not merged. As soon as that PR merges this PR should point to Envoy upstream master and get merged.

@goaway this is up-to-date. Do you mind reviewing?


Unable to accquire access_token after configuring superset to use keycloak as oauth provider

Hi ,
I am new to superset. Currently i'm having an application which is a management information system that uses superset to visualize its data, what i want is when i click a 'create new dashboard' button in my application, it will accquire access_token from /api/v1/security/login and send a post request to /api/v1/dashboard, this flow works fine when my app and superset are not connected together, but now i want to use keycloak as my sso so that users only need to login once, but after doing this i cannot get access_token from superset any more thus cannot create any dashboard from my application, can you please briefly explain or give me step wise instructions on how to solve this.
Thanks & Regards,

Closing this as stale since it's been silent for so long, and we're trying to steer toward a more actionable Issues backlog. If people are still encountering this in current versions (currently 3.x) please re-open this issue, open a new Issue with updated context, or raise a PR to address the problem. Thanks!


MessagingExtensionActionResponse Calls Wrong URL

We create 2 different MessagingExtensionActionResponse one after the other.
First one ("https://<ngrok>/api/messages/select"):
return new MessagingExtensionActionResponse()             {                 Task = new TaskModuleContinueResponse()                 {                     Value = new TaskModuleTaskInfo()                     {                         Height = 3000,                         Width = 3000,                         Title = "Start Module",                         Url = uriBuilderStart.ToString()                     }                 }             };
Correctly opens up a Teams Messaging Extension module.
We do what we need to do, then
microsoftTeams.tasks.submitTask(data);
The data received by
protected override async Task<MessagingExtensionActionResponse> OnTeamsMessagingExtensionSubmitActionAsync(ITurnContext<IInvokeActivity> turnContext, MessagingExtensionAction action, CancellationToken cancellationToken) is all good.
But then, directly after, when attempting a follow up MessagingExtensionActionResponse ("https://<ngrok>/api/messages/file"):
return new MessagingExtensionActionResponse()             {                 Task = new TaskModuleContinueResponse()                 {                     Value = new TaskModuleTaskInfo()                     {                         Height = 3000,                         Width = 3000,                         Title = "Outcome Module",                         Url = uriBuilderOutcome.ToString()                     }                 }             };
The task module DOES get a title "Outcome Module", but it re-triggers the "/select" route from the previous module instead of the "/file" route from the new one. I have triple checked the URL. This issue currently occurs from a Chat context and it started occurring just recently. When the extension is started from a Channel Conversation context, it works fine. Both use the same code paths.
Microsoft.Bot.Builder and Microsoft.Bot.Connector and Microsoft.Bot.Schema 4.20.0 (but I tested 4.16 and the issue also occurs)
https://statics.teams.cdn.office.net/sdk/v1.5.2/js/MicrosoftTeams.min.js

@StoyanGG - Thanks for reporting your issue. Could you please share a screen recording of the issue to help us understand it better?

@StoyanGG - We got the recording, we will check this and update you soon.

Hello, would you be able to assess this issue soon? Thanks in advance

@StoyanGG - Apologies for the delay. We are currently trying to reproduce the issue at our end. However, we are facing some difficulties. To assist us in investigating further, could you please provide a simplified version of your code as a zip file? This will allow us to review the code and test it locally to better understand the problem. Thank you for your cooperation.

I have sent you the most simplified version of the solution that triggers the issue every single time I attempt it from a chat message context.
Please try to reproduce it with the code provided and if you can't - as soon as you're available I will demonstrate the issue on a live call.

@StoyanGG - Thanks for providing the code. We will test it and update you soon.

@StoyanGG - Thanks for providing the code. We will test it and update you soon.

Hello,  I've been asked to check if you were you able to reproduce the issue on this occasion? Can I assist you further?
Kind Regards, Stoyan

@StoyanGG - Apologies for the delay. We are able to repro your issue and raised the bug for the same. We will let you know once we get any updates on it.

As the issue is important for a product development and release, I've been asked to check its status once a week.
Are you able to share the current progress, its priority and estimated timescale? Thanks

@StoyanGG - We are checking the status of bug with engineering team, we will let you know once we get any updates from them.

@StoyanGG - Currently, we don't have any ETA to share. The engineering team is actively working on the fix. We will let you know once we receive any updates from them.

@StoyanGG - The bug has been fixed now. We have tested this on the Teams web client. Could you please test this and confirm once?

@Nivedipa-MSFT - Thank you. I've tested this on our main tenant on the Teams desktop client and it appears to be fixed.

@StoyanGG - Thanks for the confirmation. Could you please share your valuable feedback via Microsoft Teams Developer Feedback link.


Api access improvements

This change is

This looks good to me. However, could you please format the commit change messages accordingly to http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines ? Thanks.

Done, I think

SGTM


[WIP] Bump to fa2

Bump to flash-attention-2, keep flash-attention-1 for flash_attn_with_bias_mask

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 5 committers have signed the CLA.:white_check_mark: umiswing:x: iantimmis:x: tridao:x: jlamypoirier:x: jamalikiYou have signed the CLA already but the status is still pending? Let us recheck it.


⚠ ClamAV has degraded performance

In 3a4c21d, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 210 ms

Resolved: ClamAV performance has improved in 0def563.


feat: allowed specifying renderBody via constructor

Description
Allows setting renderBody via constructor.
Checklist

[X] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[X] I have read the Contributor Guide and followed the process outlined for submitting PRs.
[X] I have updated/added tests for ALL new/updated/fixed functionality.
[X] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[X]  I have updated/added relevant examples in examples.

Breaking Change

[ ] Yes, this is a breaking change.
[X] No, this is not a breaking change.

Related Issues

Just the merge conflict that needs to be solved, other than that I think this is ready to be merged!


Primary cache: fix crash/deadlock when using Clear

Just a silly mistake in the FlatVecDeque iterator.

Fixes https://github.com/rerun-io/rerun/issues/4947
Fixes https://github.com/rerun-io/rerun/issues/4925

Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using newly built examples: app.rerun.io
Using examples from latest main build: app.rerun.io
Using full set of examples from nightly build: app.rerun.io

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG

PR Build Summary
Docs preview
Examples preview
Recent benchmark results
Wasm size tracking

I understand how this could lead to a panic, but how did it lead to a deadlock?

I understand how this could lead to a panic, but how did it lead to a deadlock?

The hope was that the same bug was manifesting in different ways on different machines because computers, but apparently not unfortunately.


Fix bug when lock file was not removed after yii\mutex\FileMutex::release()

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
yes

Fixed issues
-

Thanks!


List the IT systems used by each business area and their power use

Business leaders across Coco Pharmaceuticals need to to look at their use of IT to determine if there are savings/optimizations to be made.  Typically they do not know how many IT systems are supporting their area of the business.
Create a report that lists the IT systems with a short description, their type, location and power use.  This type of report helps to educate the business leaders on their use of IT.

The link to where the sample should be stored:
https://github.com/odpi/egeria-samples-api/tree/main/it-systems/list-power-use


Music stops after connecting with Remote Desktop (RDP)

OS: Windows 10
Issue Descriptions: connecting with RDP to session where GPMD is playing causes music to stop (although player is showing like it is still playing). Only after some time and switching songs back and forth it is possible to resume playback. I believe the same applies to opposite scenario (GPMD running in RDP session and connection is established from console). Please note RDP profile is set to leave sound with the server.
Steps to Reproduce: logon locally -> run GPMD -> logon using RDP with the same credentials to the same session

@perceival I can't debug this (as I don't have W10 pro and therefore can't RDP into my machine).  However this sounds like a Chromium / RDP bug.
Can you test the following two scenarios.

Windows Media Player -> Play Music -> RDP -> What happens?
Google Chrome (on gpm) -> Play Music -> RDP -> What happens?

Groove Music gets killed (but not every time) with em: Package Microsoft.ZuneMusic_3.6.25021.0_x64__string_here+Microsoft.ZuneMusic was terminated because it took too long to suspend. The rest (vlc, WMP) encounter aprox 1 sec break in audio playback but then they proceed to play by themselves.
Dont't have Chrome installed yet.

@perceival This sounds like somewhat unpredicatable behavior and after some research it appears that RDP attaches a virtual audio driver to your computer while the session is in progress.
You could probably work around this issue by pointing GPMDP at the virtual audio device instead of the whatever device it is normally pointed at.  I would reccomend chasing this up with Microsoft support as they might have more knowledge about the audio driver they use.
But for me at least, this is a cantfix as I have no way to handle things at the audio driver level. 👍

Actually I believe it might not be related to RDP audio driver. Based on my understanding RDP audio driver kicks in if you choose Play on this computer option within RDP client (instead of Play on remote computer which is my case).
I ahve in addition tested it with IE and gpm and it bahaves like WMP or vlc (just short break).
What is interesting GPMDP appears like it is trying to play still but no progress nor audio. After some time it gives up and skips to the next track. After few of them there is EM: Can't reach Google Play. Reload the page and try again. And after pressing OK audio and playback are back available.

I'm pretty sure what is happening here is still driver related, but some applications are capable of handling it and electron is not. That "pause" in music is the reconfiguration of audio devices, which causes GPMDP to lose access to the device it's streaming to. I've had this same thing happen when using DTS audio drivers where plugin in headphones creates a new device and removing removes the device.


[spark] Fix the loadTable of SparkSource can't recognize correct catalog

Purpose

Linked issue: close #xxx
Fix the loadTable of SparkSource can't recognize correct catalog as below case
dataset.format("paimon").options(...).save();

Tests

API and Format

Documentation

Can you fix tests? @harveyyue


SMART-207: npm audit fix

Ran npm audit fix to fix a majority of vulnerabilities. Had to manually install a few.
Includes an update from babel6 to babel7.
me:~/git/ascvd-risk-calculator (SMART-207_audit_fix) 🍖 npm audit

                       === npm audit security report ===

found 0 vulnerabilities
 in 301622 scanned packages

I have unsuccessfully been able to update to webpack4, which is flagged as peer-dependencies in npm-list:
npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>|| ^4.0.0, required by<EMAIL_ADDRESS>npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>
npm test shows all green:
Test Suites: 18 passed, 18 total
Tests:       121 passed, 121 total
Snapshots:   0 total
Time:        4.432s
Ran all test suites.

80 passing (199ms)

npm run build shows success
npm run start launches the app locally and I can click and input all the things successfully.

Oh yeah, with these changes you have to update node to 8+. I'm using v9.11.1 but the travis builds are using 6.

Oh, looks like the travis builds are failing for a different reason than I thought it would. It's failing to install the oracle-java9-set-default package. I'm not really sure what that should be updated to, but maybe one of the maintainers can take a look?

wasn't aware of those nightwatch tests. Part of the changes include updating terra-toolkit to a version that no longer supports nightwatch, so the tests will have to be rewritten using wdio. I'm going to close this out while working through that.


Bad performance impact of TrajectorySmoothingNeighborhood

TrajectorySmoothingNeighborhood seems to have a very high impact on performance.
The presence of this neighborhood tends to increase planning time by a factor 10.
Interestingly, the additional runtime is not located only in this neighborhood but is spread among all neighborhoods.
I suspect this is due to TrajectorySmoothing aggressively cloning plans to decide whether or not to accept a move.
This probably has a very bad impact on the cache, thus impacting the performance of other, seemingly unrelated, code.

TrajectorySmoothingNeighborhood is no longer used

Then we should remove it from the repository. No point in keeping and maintaining dead code, especially if it comes with surprising performance implications (we can always retrieve from history if needed).


Creating ConversationPost in discussion?

Cross-post of this: https://stackoverflow.com/questions/54713998/creating-converationpost-in-discussion-using-rally-node
What I tried:
const create = {
  type: 'ConversationPost',
  data: {
    Text: 'api test comment',
    Artifact: '/hierarchicalrequirement/287838839156'
  }
};
restApi.create(create)
.then(result => {
  console.log(result);
})
.catch(error => {
  console.error(error);
})

Any ideas how to achieve it with rally-node?

Turns out this was correct. Annoying small print is that the "ALM WSAPI Read-only" makes Rally ignore the second setting, when configuring your API key in rally.


How to disable saturday and sundays

I have tried using the below code snippet
DisabledDaysCriteria criteria = new DisabledDaysCriteria(Calendar.MONDAY, Calendar.FRIDAY, DisabledDaysCriteriaType.DAYS_OF_WEEK);
calendarView.setDisabledDaysCriteria(criteria);
it disables the weekdays and changed the code with the below snippet
DisabledDaysCriteria criteria = new DisabledDaysCriteria(Calendar.SATURDAY, Calendar.SUNDAY, DisabledDaysCriteriaType.DAYS_OF_WEEK);
calendarView.setDisabledDaysCriteria(criteria);
But it disables the whole dates in the calendar not able to select

Same here, what I did was this.
        calendarView.setDisabledDaysCriteria(new DisabledDaysCriteria(Calendar.SATURDAY, Calendar.SATURDAY, DisabledDaysCriteriaType.DAYS_OF_WEEK));         calendarView.setDisabledDaysCriteria(new DisabledDaysCriteria(Calendar.SUNDAY, Calendar.SUNDAY, DisabledDaysCriteriaType.DAYS_OF_WEEK));
Not a very good solition, but it works.


Use Salt icons in Salt ag-grid theme

closes #2053

Maybe we need a dedicated page to render these (name against icon) to test

in a story?

Maybe we need a dedicated page to render these (name against icon) to test

in a story?

Yes, to make sure we know what each icon would render. Right now, about 10 of them are visible and can be tested. A little worried when i see the shield earlier.

Maybe we need a dedicated page to render these (name against icon) to test

in a story?

Yes, to make sure we know what each icon would render. Right now, only about 10 of them are visible and can be tested. A little worried when i see the shield earlier.

good idea, added :)

have asked @pseys  -pending response


Windows Active Directory Authentication

The authentication works great with generic LDAP. But when I have to manage to connect with Active Directory I am getting this error: OperationsError: 000004DC: LdapErr: DSID-0C090A22

This looks like a problem with the underlying jwt-simple library since this project is not implementing the LDAP protocol itself.
If the problem is still persistent, please check with that project and consider reopening the issue there.


Editable Input and Delayed Output for JSON Formatter（orz，extremely grateful）

What improvement do you think would an existing feature or tool in DevToys?
Currently, the JSON Formatter in DevToys allows users to paste JSON strings in the left panel and view the formatted result in the right panel. However, both panels are non-editable, limiting the functionality for users who want to quickly adjust their JSON input and see the immediate formatted output.
Use Case:
As a user, I often need to make minor adjustments to the JSON input, such as adding or correcting keys/values, without having to repeatedly copy-paste from an external editor. Adding the ability to edit the input directly would save time and improve usability.
Solution/Idea
I propose enabling the left-side input panel to be editable, allowing users to modify the JSON directly within the tool. The right-side output panel can display the formatted JSON with a slight delay (e.g., 500ms) after detecting changes, ensuring smooth updates without overloading the UI.
Mock-up/Example:

Left Panel: Editable text area for users to input or modify JSON data.
Right Panel: Continuously updates the formatted JSON with a delay after changes are made in the input panel.

Comments
Adding this functionality would make the JSON Formatter significantly more user-friendly, especially for developers working with large or complex JSON structures. The feature could include syntax highlighting for the input panel and error notifications if the input is not valid JSON.
Here is a simple illustration of the proposed workflow:

User edits the JSON in the left panel.
After a delay, the right panel updates to show the formatted JSON output.
If the input contains errors, the tool displays an error message without breaking the editing functionality.

Looking forward to hearing your thoughts!

Base64 Encoder/Decoder
Improvement: Support larger inputs for Base64 encoding/decoding and optimize memory usage for decoding large strings.
Why It's Needed: Users working with large JSON payloads or files in Base64 encounter issues with size limits.
Extra Idea: Add a chunked processing mode for very large Base64 strings.
Markdown Preview
Improvement: Add support for live previews while typing and include a built-in style editor for markdown themes.
Why It's Needed: Enhances productivity for users who write and preview documentation or README files.
Extra Idea: Include export options to PDF or HTML.
JSON Formatter
Improvement: Introduce schema validation by allowing users to upload JSON schemas and validate JSON files against them.
Why It's Needed: Helps developers catch errors when working with structured APIs.
Extra Idea: Add the ability to "diff" two JSON files to quickly spot changes.
Text Comparison
Improvement: Add syntax highlighting for different file types (e.g., HTML, XML, JSON) to make comparisons more readable.
Why It's Needed: Plain-text differences can be hard to interpret for structured data.
Extra Idea: Include a side-by-side comparison mode.
Image Compressor
Improvement: Enable batch processing of multiple images at once with configurable compression levels for each.
Why It's Needed: Handling multiple images in one go saves time for developers and designers.
Extra Idea: Add an image format converter alongside compression.
Regex Tester
Improvement: Add real-time performance feedback, especially for complex regex patterns.
Why It's Needed: Helps users understand performance implications and optimize their regex.
Extra Idea: Provide regex presets for common use cases, like email validation or extracting dates.
UUID Generator
Improvement: Add options for different UUID versions (e.g., v1, v5) and batch generation for creating multiple UUIDs.
Why It's Needed: Many applications require specific UUID formats, and batch generation could save time.
Extra Idea: Include the ability to generate GUIDs for Microsoft ecosystems.
Hash Generator
Improvement: Enable file-to-hash comparison for verifying downloaded files' integrity.
Why It's Needed: Simplifies integrity checks for files against known hashes.
Extra Idea: Support additional algorithms like Argon2 or PBKDF2 for password hashing.
String Utilities
Improvement: Add a "Case Converter" tool for batch transforming text to upper/lower/camel/snake case.
Why It's Needed: Developers frequently reformat text for different coding conventions.
Extra Idea: Include a word/character counter alongside case transformations.
Clipboard Manager
Improvement: Add a history of copied items with timestamps and searchable content.
Why It's Needed: Helps retrieve past data quickly without re-copying it.
Extra Idea: Allow users to favorite or pin frequently used clipboard items.

{
"devtoysImprovements": [
{
"tool": "Base64 Encoder/Decoder",
"improvements": [
{
"description": "Support larger inputs for Base64 encoding/decoding",
"reason": "Users encounter size limits with large JSON payloads or files.",
"extraIdea": "Add a chunked processing mode for very large Base64 strings."
}
]
},
{
"tool": "Markdown Preview",
"improvements": [
{
"description": "Add live preview while typing",
"reason": "Enhances productivity for documentation and README files.",
"extraIdea": "Include export options to PDF or HTML."
},
{
"description": "Include a built-in style editor for themes",
"reason": "Allows users to customize markdown previews."
}
]
},
{
"tool": "JSON Formatter",
"improvements": [
{
"description": "Introduce schema validation",
"reason": "Helps developers catch errors when working with structured APIs.",
"extraIdea": "Add ability to diff two JSON files to quickly spot changes."
}
]
},
{
"tool": "Text Comparison",
"improvements": [
{
"description": "Add syntax highlighting for file types (e.g., HTML, XML, JSON)",
"reason": "Makes comparisons more readable for structured data.",
"extraIdea": "Include side-by-side comparison mode."
}
]
},
{
"tool": "Image Compressor",
"improvements": [
{
"description": "Enable batch processing of images with configurable compression levels",
"reason": "Saves time for developers and designers handling multiple images.",
"extraIdea": "Add an image format converter alongside compression."
}
]
},
{
"tool": "Regex Tester",
"improvements": [
{
"description": "Add real-time performance feedback for regex patterns",
"reason": "Helps optimize regex and understand performance implications.",
"extraIdea": "Provide regex presets for common use cases like email validation."
}
]
},
{
"tool": "UUID Generator",
"improvements": [
{
"description": "Add options for different UUID versions (e.g., v1, v5)",
"reason": "Supports applications that require specific UUID formats.",
"extraIdea": "Include batch generation for multiple UUIDs."
}
]
},
{
"tool": "Hash Generator",
"improvements": [
{
"description": "Enable file-to-hash comparison for verifying file integrity",
"reason": "Simplifies integrity checks for files against known hashes.",
"extraIdea": "Support additional algorithms like Argon2 or PBKDF2 for password hashing."
}
]
},
{
"tool": "String Utilities",
"improvements": [
{
"description": "Add a case converter tool",
"reason": "Facilitates text transformation for coding conventions.",
"extraIdea": "Include a word/character counter alongside case transformations."
}
]
},
{
"tool": "Clipboard Manager",
"improvements": [
{
"description": "Add a history of copied items with timestamps",
"reason": "Allows quick retrieval of past data.",
"extraIdea": "Allow users to favorite or pin frequently used clipboard items."
}
]
}
]
}


Small Change

Update import path from 'crocks/Pair/merge' to 'crocks/pointfree/merge'.

Coverage remained the same at 100.0% when pulling 6e495c9f833b047eb35ba7fc4d4158625f89e4ad on BasantPandey:patch-3 into ac80421de0b8ddcb525cf35fa97c491f7dd0afea on evilsoft:master.


Doc comments

Followup for discussion #4110
Bottom line is that this will be the syntax for documentation comments:

#. doc comment for the next statement
#! doc comment for the parent module
@annotation for the next statement
@!annotation for the parent statement

As with annotations, doc comments can attach to any statements (variables, types, modules) and will be available in the AST. We can make a tool that extracts this information and converts it to HTML, so it can be published somehow.
ATM, this would be most useful with std.prql module, which would benefit from exposing a bit more documentation (especially with arithmetic functions).
I would ask to refrain bike-shedding the syntax, unless there is a serious concern about usability.

I look forward to doc comments in the AST. I am working on some code to generate HTML documentation from a .prql file. I intend to integrate it with prqlc if that is okay.

Sure - depending on how it is written it could be maintained in this repo as well. Would you be up for doing it in rust?

part of the prqlc CLI tool

It will probably have a bunch of HTML-related dependencies that we probably don't as dependencies of the prqlc. Could it be a separate binary?

It will probably have a bunch of HTML-related dependencies that we probably don't as dependencies of the prqlc. Could it be a separate binary?

Yes, it could be a separate binary, however right now it doesn't have any dependencies at all, the HTML is just a string in Rust.
Like:
let mut html = String::new();

html.push_str("<html>");
html.push_str("</html>");

Ah, ok that makes sense - I like your approach of making the initial version simple before adding too much dependencies. It can easily be part of prqlc then! Do you need any help with integrating with prqlc CLI?


darwin: workaround apple pthread_cond_wait bug

Under heavy workloads pthread_cond_wait on macOS can return EINVAL while all the input parameters are correct.
As it happens due to a syscall having an errno of EBUSY we can detect it and workaround it.
Fixes #4165

Pushed a new version with style changes, opening the PR as it has been deployed in our production for a few days and is stable.