Configure to use the JacksonSerializer

Hi!
One simple question: I was just playing around and tried to use Json to serialize everything instead of the default XML.
I tried to add this to AxonConfig-Class:
    @Bean
    public Serializer serializer() {
        return new JacksonSerializer();
    }

I can see that a JacksonSerializer serializer-Bean is created when running as a docker Container.
But the events in the MySql DB are still encoded as XML. Any hints?
Thx,
Dirk

Hi Dirk,
Are you running Axon with the Spring Boot Axon auto configure?
If so I'd say that the AxonAutoConfiguration class shouldn't make a
XStreamSerializer, since the annotation on that @Bean function is
'ConditionalOnMissingBean of type Serializer'.
If you aren't running it through Spring Boot, then you'd have to set the
JacksonSerializer on the desired location yourself.
I think any specifics on what your config currently looks like could help
to answer your question.
Hope this helps.
Cheers, Steven
On Wed, Mar 15, 2017 at 5:35 PM, dhermanns<EMAIL_ADDRESS>wrote:

Hi!
One simple question: I was just playing around and tried to use Json to
serialize everything instead of the default XML.
I tried to add this to AxonConfig-Class:
@Bean
public Serializer serializer() {
    return new JacksonSerializer();
}

I can see that a JacksonSerializer serializer-Bean is created when running
as a docker Container.
But the events in the MySql DB are still encoded as XML. Any hints?
Thx,
Dirk
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/AxonFramework/AxonBank/issues/10, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEeHf_tKwsauZCSWx4n5qfXTbdSdmcqpks5rmBM-gaJpZM4MeM5b
.

Yes - I'm running with spring boot and saw the Conditional. Wenn adding spring actuator and calling /beans I can see that JacksonSerializer has been instantiated as a bean. But nevertheless when looking into the payload e.g. the domain_event_entry table, i see
<org.axonframework.samples.bank.api.bankaccount.BankAccountCreatedEvent>
  <id>89d0df66-9d65-463b-8e37-08b4caf8da57</id>
  <overdraftLimit>1234</overdraftLimit>
</org.axonframework.samples.bank.api.bankaccount.BankAccountCreatedEvent>

Ah sorry, missed it was about the AxonBank at first, my bad.
What I think is the issue is the axon version.
By guessing you're using JPA (correct?), I see that the JpaConfiguration on creating the EventStorageEngine doesn't take the serializer bean into account yet in version 3.0.1.
Just checked regarding 3.0.2, but the same issue is there as well.
To work around this for now you have to also provide your own EventStorageEngine bean and add the JacksonSerializer to it. Or you could run on a snapshot of axon for now. Whichever you prefer :)
Hope to have helped!

Great - that helped. Thanks a lot!
For others: This is my workaround to get Json serialization up and running.
I added this to the AxonConfig Class:
    @PersistenceContext
    private EntityManager entityManager;

    @Bean
    public EventStorageEngine eventStorageEngine(DataSource dataSource) throws SQLException {

        EntityManagerProvider entityManagerProvider = new SimpleEntityManagerProvider(entityManager);
        return new JpaEventStorageEngine(serializer(), NoOpEventUpcaster.INSTANCE, dataSource, entityManagerProvider, NoTransactionManager.INSTANCE);
    }

Oh - too soon closed :) . There is one more problem after the first snapshot was taken: The payload in the snapshot_event_entry-Table is missing.
Maybe this has something to do that Jackson want's default constructors in the MoneyDepositedEvent.
After one snapshot has been created, I got a:
org.axonframework.eventsourcing.IncompatibleAggregateException: Aggregate identifier must be non-null after applying an event. Make sure the aggregate identifier is initialized at the latest when handling the creation event.
	at org.axonframework.eventsourcing.EventSourcedAggregate.publish(EventSourcedAggregate.java:160) ~[axon-core-3.0.2.jar:3.0.2]
	at java.util.Iterator.forEachRemaining(Iterator.java:116) ~[na:1.8.0_73]
	at org.axonframework.eventsourcing.EventSourcedAggregate.lambda$initializeState$1(EventSourcedAggregate.java:212) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.model.inspection.AnnotatedAggregate.lambda$execute$2(AnnotatedAggregate.java:172) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.model.AggregateLifecycle.lambda$execute$2(AggregateLifecycle.java:186) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.model.AggregateLifecycle.executeWithResult(AggregateLifecycle.java:167) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.model.AggregateLifecycle.execute(AggregateLifecycle.java:185) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.model.inspection.AnnotatedAggregate.execute(AnnotatedAggregate.java:172) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.eventsourcing.EventSourcedAggregate.initializeState(EventSourcedAggregate.java:209) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.eventsourcing.EventSourcingRepository.doLoadWithLock(EventSourcingRepository.java:182) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.eventsourcing.EventSourcingRepository.doLoadWithLock(EventSourcingRepository.java:44) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.model.LockingRepository.doLoad(LockingRepository.java:139) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.model.LockingRepository.doLoad(LockingRepository.java:48) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.model.AbstractRepository.lambda$load$7(AbstractRepository.java:111) ~[axon-core-3.0.2.jar:3.0.2]
	at java.util.HashMap.computeIfAbsent(HashMap.java:1118) ~[na:1.8.0_73]
	at org.axonframework.commandhandling.model.AbstractRepository.load(AbstractRepository.java:110) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.model.AbstractRepository.load(AbstractRepository.java:135) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.samples.bank.command.BankAccountCommandHandler.handle(BankAccountCommandHandler.java:52) ~[classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_73]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
	at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_73]
	at org.axonframework.messaging.annotation.AnnotatedMessageHandlingMember.handle(AnnotatedMessageHandlingMember.java:127) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.messaging.annotation.WrappedMessageHandlingMember.handle(WrappedMessageHandlingMember.java:61) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.AnnotationCommandHandlerAdapter.handle(AnnotationCommandHandlerAdapter.java:94) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.AnnotationCommandHandlerAdapter.handle(AnnotationCommandHandlerAdapter.java:38) ~[axon-core-3.0.2.jar:3.0.2]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_73]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
	at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_73]
	at org.axonframework.spring.config.AbstractAnnotationHandlerBeanPostProcessor$AdapterIntroductionInterceptor.invoke(AbstractAnnotationHandlerBeanPostProcessor.java:252) ~[axon-spring-3.0.2.jar:3.0.2]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.7.RELEASE.jar:4.3.7.RELEASE]
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656) ~[spring-aop-4.3.7.RELEASE.jar:4.3.7.RELEASE]
	at org.axonframework.samples.bank.command.BankAccountCommandHandler$$EnhancerBySpringCGLIB$$e36773eb.handle(<generated>) ~[classes/:na]
	at org.axonframework.messaging.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:57) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.messaging.unitofwork.DefaultUnitOfWork.executeWithResult(DefaultUnitOfWork.java:69) ~[axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.SimpleCommandBus.doDispatch(SimpleCommandBus.java:145) [axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.SimpleCommandBus.doDispatch(SimpleCommandBus.java:118) [axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.SimpleCommandBus.dispatch(SimpleCommandBus.java:88) [axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.commandhandling.CommandBus.dispatch(CommandBus.java:45) [axon-core-3.0.2.jar:3.0.2]
	at org.axonframework.samples.bank.web.BankAccountController.deposit(BankAccountController.java:77) [classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_73]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_73]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_73]
	at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_73]
	at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:180) [spring-messaging-4.3.7.RELEASE.jar:4.3.7.RELEASE]
	at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:112) [spring-messaging-4.3.7.RELEASE.jar:4.3.7.RELEASE]
	at org.springframework.messaging.handler.invocation.AbstractMethodMessageHandler.handleMatch(AbstractMethodMessageHandler.java:502) [spring-messaging-4.3.7.RELEASE.jar:4.3.7.RELEASE]
	at org.springframework.messaging.simp.annotation.support.SimpAnnotationMethodMessageHandler.handleMatch(SimpAnnotationMethodMessageHandler.java:497) [spring-messaging-4.3.7.RELEASE.jar:4.3.7.RELEASE]
	at org.springframework.messaging.simp.annotation.support.SimpAnnotationMethodMessageHandler.handleMatch(SimpAnnotationMethodMessageHandler.java:87) [spring-messaging-4.3.7.RELEASE.jar:4.3.7.RELEASE]
	at org.springframework.messaging.handler.invocation.AbstractMethodMessageHandler.handleMessageInternal(AbstractMethodMessageHandler.java:461) [spring-messaging-4.3.7.RELEASE.jar:4.3.7.RELEASE]
	at org.springframework.messaging.handler.invocation.AbstractMethodMessageHandler.handleMessage(AbstractMethodMessageHandler.java:399) [spring-messaging-4.3.7.RELEASE.jar:4.3.7.RELEASE]
	at org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask.run(ExecutorSubscribableChannel.java:135) [spring-messaging-4.3.7.RELEASE.jar:4.3.7.RELEASE]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_73]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_73]
	at java.lang.Thread.run(Thread.java:745) [na:1.8.0_73]

I think this is a follow due to the no correctly created snapshot. Any Ideas?

Oh - my fault. I missed that there aren't any getter/setter for the fields in the BankAccount Aggregate. Therefore Jackson per default doesn't serialize the aggregate id which leads to the error above.
So the correct Jackson Definition has to be:
@Bean
public Serializer serializer() {

        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
        return new JacksonSerializer(objectMapper);
}

Of cause you have to take care what private fields are in your Events/Commands/Aggregates because now Jackson will serialize all fields.
Hope this saves someone else some time in setting up json with axon.


Newsletters: add 169 (2021-10-06)

[x] (Friday) Add news [it's a newsletter yo] @harding
[x] (Friday) Add P4TR section @harding
[x] (Monday) Bitcoin Core GUI #416 Add RPC setting @bitschmidty
[x] (Monday) Bitcoin Core #17526 Add Single Random Draw as an additional coin selection algorithm @Xekyo
[x] (Monday) Bitcoin Core #20591 wallet, bugfix: fix ComputeTimeSmart function during rescanning process @glozow
[ ] (Monday) LND #5366 kvdb: add postgres @dongcarl
[ ] (Tuesday) Update releases, RCs, and topics @harding

Looks great. Just very minor review comments.


Update Seminar page

@sacha-l please let me know if you have any concerns with the way I've identified you or your work.

Thanks for the review @sacha-l :pray:


Parsing error: X-ALT-DESC with HTML

Parsing the enclosed event error1.txt fails with vobject.base.ParseError: At line 248: Failed to parse line: <HTML>. Relevant part is:
SEQUENCE:0
TRANSP:OPAQUE
X-ALT-DESC:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
…

Yes, the continuation lines are not indented.

Your format is wrong. According to the Microsoft spec for X-ALT-DESC, the format needs to be "Text", defined in RFC2445 section 4.3.11. This means that you need to fold the HTML lines like you would any other line of text longer than the 75 octets specified in 2445.

This is an real-live example, not something I generated.

That's fine, but this is a correctly thrown ParseError. How is vObject supposed to know that the next line is part of the previous property if it's not properly folded? What client generated that vCalendar?


RESEARCH: Bulk testing/reporting workflow

Hypothesis: SimpleReport's workflow does not match the workflow of organizations that handle serial, bulk testing with recurring groups/facilities of 40-100+.
Each of the organizations below performs serial bulk testing where they test the same groups of people throughout the year, sometimes multiple times a week.

In our Santa Clara site visit on 11/21, we discovered that they only use SR as a data entry tool due to how inefficient the testing workflow is compared to their process. They've intentionally separated the testing and data entry workflow to maximize efficiency of testing. Time spent with data entry during testing could slow down their process, where every minute extra spent testing resident multiples with the number of persons in the queue (e.g. 5 minutes * 40-140 residents).
On a call with Washington school district, Mead, they shared similar thoughts on frustrations with SR's workflow that prioritizes adding persons, entering data, and viewing/sharing results by individual rather than groups. They're testing the same groups of people (e.g. wrestling teams, football teams, theater groups, etc.) multiple times a week and find the repetitive nature of SR manually strenuous and time-consuming.

As we aim to ease the burden of using SimpleReport, we want to better understand how sites are thinking about serial, bulk testing, and their process for doing so. Specifically:

What factors are leading to their chosen approach? (e.g. testing program/ strategy, limited staff, etc.)
Which parts of the SimpleReport experience are the most burdensome for them? And why?

Brainstorm other research questions.
Once this kicks off, please use the research plan template to outline the approach, and drop the link here.

Similar hypothesis for mass testing in the 1000s.
Hypothesis: SimpleReport's workflow does not match the workflow of organizations that handle mass testing in the 1000s.


fix(#294): description, topics escaped

@yegor256 take a look, please
closes #294

@yegor256 reminder


AttributeError: 'Estimator' object has no attribute '_distribution'

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution: Ubuntu 18.04
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.11
Python version: 3.6
CUDA/cuDNN version: 9.2/7.2.1
GPU model and memory: TitanXp 12Gb

When I use an Estimator with a MirroredDistributionStrategy, I encounter the error "AttributeError: 'Estimator' object has no attribute '_distribution'". This seems to be tied to this line, which has self._distribution.unwrap(per_device_hook)[0]. I'm pretty sure this should be self._train_distribution.unwrap(per_device_hook)[0].
The estimator is clearly never assigned a '_distribution' attribute (this is the only line on which its referenced) so I assume this is just a typo. Let me know if I'm missing something.

Same problem on a fresh install from source from the master branch. I made that change and it works perfectly.

@rmrao  This should not be a problem with TF version 1.12. Have you tried with 1.12 ?

@yuefengz  Any inputs on this ?

@harshini-gadige This was broken when I did it on the master branch a few days ago, which is v1.12.

I haven’t tried with 1.12 although the reference to _distribution still exists in the source of 1.12, so not sure that would do anything. I can test later today

This bug has been fixed in the master. 1.12 does have this bug.

@rmrao  - This issue is fixed and please wait for the next release. Thanks !

Are you satisfied with the resolution of your issue?
Yes
No


Changing test so builds work when . is not in PERL5LIB path

Quick fix so that this module builds when user doens't have the current directory in the $PERL5LIB environment variable.

Coverage remained the same at 100.0% when pulling a61913fd4997da7262f56f9e4f17b828718f78ee on ivanwills:lib_test into 0f79b0c2aa20bace304a4c97fed289ba8811de6b on mihyaeru21:master.

Thank you for your fix!
I didn't know PERL5LIB doesn't contain "." in new version of Perl.
I'll add version 5.26 for test.


FlexibleSpaceBar title overflows on top of AppBar actions

This is a regression, it worked fine in the past. However, I don't remember the last good commit. It broke with one of the commits made in the past few weeks.

Steps to Reproduce
Run the sample code, the bug should be visible immediately.
import 'package:flutter/material.dart';

void main() {
  runApp(new Sample());
}

class Sample extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: new Scaffold(
        body: new CustomScrollView(
          slivers: <Widget>[
            new SliverAppBar(
              actions: <Widget>[
                new IconButton(
                  icon: new Icon(Icons.cancel),
                  onPressed: null,
                ),
                new IconButton(
                  icon: new Icon(Icons.cancel),
                  onPressed: null,
                ),
              ],
              flexibleSpace: const FlexibleSpaceBar(
                title: const Text(
                    "asdfkljsdfkljsdfkalskdfjalksdjflksjdflkasjdflkasjdfkljasdlfkj"),
                centerTitle: false,
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Logs
Running flutter run and flutter analyze did not output anything.
Flutter Doctor
[✓] Flutter (on Mac OS X 10.13.2 17C88, locale en-NZ, channel master)
    • Flutter version 0.0.21-pre.294 at /Users/gnawf/flutter
    • Framework revision 8059aea365 (10 hours ago), 2018-01-22 18:12:39 -0800
    • Engine revision 171d032f86
    • Tools Dart version 2.0.0-dev.16.0
    • Engine Dart version 2.0.0-edge.93d8c9fe2a2c22dc95ec85866af108cfab71ad06

[✓] Android toolchain - develop for Android devices (Android SDK 26.0.3)
    • Android SDK at /usr/local/opt/android-sdk/
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-26, build-tools 26.0.3
    • ANDROID_HOME = /usr/local/opt/android-sdk/
    • Java binary at: /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/bin/java
    • Java version Java(TM) SE Runtime Environment (build 1.8.0_144-b01)

[-] iOS toolchain - develop for iOS devices (Xcode 9.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.2, Build version 9C40b
    ✗ Your Mac needs to enabled for developer mode before using Xcode for the first time.
      Run 'sudo DevToolsSecurity -enable' to enable developer mode.
    ✗ libimobiledevice and ideviceinstaller are not installed. To install, run:
        brew install --HEAD libimobiledevice
        brew install ideviceinstaller
    ✗ ios-deploy not installed. To install:
        brew install ios-deploy
    • CocoaPods version 1.3.1

[✗] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.io/setup/#android-setup for detailed instructions).

[✓] IntelliJ IDEA Community Edition (version 2017.3.3)
    • Flutter plugin version 21.0.3
    • Dart plugin version 173.4301.22

[✓] Connected devices
    • iPhone 8 • 533B1ADF-56E5-4A63-9319-1F704E8845E0 • ios • iOS 11.2 (simulator)

I have a similar problem the title doesn't wrap correctly and hide AppBar Actions when small or start and finish out of the screen when expanded.

any news about this ?

Try this: on the widget Text use:
Text("Your Title", maxLines:1, overflow:TextOverflow.fade )

Any fix?

Issue still happening in Flutter 1.5.4-hotfix.2
When I build a layout like this, the ellipsis appear when the title is collapsed but it seems the FlexibleSpaceBar is just scaling the text when it expands, which in turn doesn't update the Text widget size in order for it to update the ellipsis.
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: CustomScrollView(
        scrollDirection: Axis.vertical,
        slivers: <Widget>[
          SliverAppBar(
            expandedHeight: 260.0,
            primary: true,
            pinned: true,
            flexibleSpace: FlexibleSpaceBar(
              centerTitle: false,
              title: Text(
                "Sample of Very Long Text that Overflows the Title",
                maxLines: 1,
                style: TextStyle(shadows: <Shadow>[
                  Shadow(offset: Offset(2, 2), blurRadius: 3),
                ]),
                overflow: TextOverflow.ellipsis,
              ),
              collapseMode: CollapseMode.parallax,
            ),
          ),
          SliverList(
            delegate: SliverChildListDelegate(
              <Widget>[
                SizedBox(
                  height: 1500,
                )
              ]
            ),
          )
        ],
      ),
    );
  }

Same issue as Dancovich. Any fix?

Same issue as Dancovich. Any fix?

I've created a workaround but I need to test for other device sizes. Basically I use a controller and add a listener to monitor the scrolling. When the scrolling pass a certain threshold I change a flag that will place  a ConstrainedBox around the title to compensate for the scaling, which in turn will place the ellipsis at the correct place.
Right now both the threshold and the width of the ConstrainedBox are hardcoded. I'll do some testing and figure out a way to use MediaQuery to get values that will work for all devices.
bool _isScrollLimitReached = false;
ScrollController _scrollController;

// On initState
_scrollController = ScrollController();
_scrollController.addListener((){
  final newState = _scrollController.offset <=
    (_scrollController.position.minScrollExtent + 120.0);

  if (newState != _isScrollLimitReached) {
    setState(() {
      _isScrollLimitReached = newState;
    });
  }
});

// ... on the scaffold body
return CustomScrollView(
  controller: _scrollController,
  scrollDirection: Axis.vertical,
  slivers: <Widget>[
    SliverAppBar(
      expandedHeight: 260.0,
      primary: true,
      pinned: true,
      actions: <Widget>[
        IconButton(
          icon: Icon(Icons.edit),
          tooltip: Localization.of(context).getString(Strings.edit_game),
          onPressed: _onGameEdit,
        )
      ],
      flexibleSpace: FlexibleSpaceBar(
        // This is what adjusts the ellipsis based on the size of the text
        title: _isScrollLimitReached
          ? ConstrainedBox(
            constraints: BoxConstraints(maxWidth: 200),
            child: Text(
              _currentGame.name,
              maxLines: 1,
              style: TextStyle(shadows: <Shadow>[
                Shadow(offset: Offset(2, 2), blurRadius: 3),
              ]),
              overflow: TextOverflow.ellipsis,
            ),
          )
          : Text(
            _currentGame.name,
            maxLines: 1,
            overflow: TextOverflow.fade,
          ),
        background: Stack(
          fit: StackFit.expand,
          children: <Widget>[
            FutureImage(
              relativePath: _currentGame.cover,
              fit: BoxFit.cover,
              alignment: Alignment.center,
              imageSemanticsLabel:
              Localization.of(context).getString(Strings.edit_game),
            ),
            Container(
              decoration: BoxDecoration(
                gradient: LinearGradient(
                  begin: Alignment.topCenter,
                  end: Alignment.bottomCenter,
                  colors: [
                    AppColors.colorPrimary[800],
                    AppColors.colorPrimary[800],
                    Color(0x00000000),
                    Color(0x00000000),
                  ],
                  stops: [0.0, 0.05, 0.5, 1.0],
                ),
              ),
            ),
          ],
        ),
        collapseMode: CollapseMode.parallax,
      ),
    ),
    // other slivers
  ],
);

I dug into a FlexibleSpaceBar sources and at least now I understand what happens. Turns out that in an expanded state title is scaled up to be 1.5 of its size, so naturally it will overflow offscreen. As user scrolls up, title is scaled down towards its source size of 1.0. At this size it will sit in the top toolbar.
Maybe this information will help someone to base their workarounds on until this is fixed.
I wondered why my hack of wrapping title in ConstraintedBox with maxWidth: MediaQuery.of(context).size.width didn't work. Now I know: I must divide this  maxWidth by 1.5.

Is there any update about this? I need the title in the FlexibleSpaceBar to have its width limited to the space between the leading widget and the actions

Hi. Any chance we have a fix on this?

Hi, does anybody solve current problem ?

This needs to be fixed
...by someone smart

Same issue with flutter version: 1.9.1+hotfix 6

The problem is that he FlexibleSpaceBar widget just scales everything (up to 1.5).
I found a workaround, please check here: https://stackoverflow.com/questions/53251903/title-not-displaying-correctly-on-flexiblespacebar/60231860#60231860
This code can be use as an insight, so the "same changes" can be done inside the FlexibleSpaceBar widget.

still facing the issue. Any update?

The fact that the FlexibleSpaceBar overflow AppBar.actions is by design. From the SliverAppBar.flexibleSpace documentation:

This widget is stacked behind the toolbar and the tab bar. It's height will be the same as the app bar's overall height.

See the first two solutions below for that issue. To solve the issue of the expanded SilverAppBar not cropping the title in its expanded state, see the third solution below.
Solution 1: Use the title directly inside of SliverAppBar
To make sure that the title does not overflow the buttons, you can use the title inside of SliverAppBar directly, see dartpad.
SliverAppBar(
  title: Text(
    "asdfkljsdfkljsdfkalskdfjalksdjflksjdflkasjdflkasjdfkljasdlfkj",
    overflow: TextOverflow.ellipsis,
  ),
  ...,
)

Solution 2: Set padding on the FlexibleSpaceBar
If you need to use the FlexibleSpaceBar, you can also set the title padding to avoid the title to overflow, see dartpad.
flexibleSpace: const FlexibleSpaceBar(
  title: const Text(
    "asdfkljsdfkljsdfkalskdfjalksdjflksjdflkasjdflkasjdfkljasdlfkj",
    maxLines: 1,
    overflow: TextOverflow.ellipsis,
  ),
  centerTitle: false,
  titlePadding: const EdgeInsetsDirectional.only(start: 72, bottom: 16, end: 102),
),

Solution 3: Create custom title that takes the transform effect into consideration
If you have a SliverAppBar with expanded height or that stretches when it overflows, the title will be transformed to increase in size. This can mean that the title overflows:

To solve this you can create your own custom title to set the constraints correctly. This solution makes use of of the FlexibleSpaceBarSettings that is used for the resizing. See dartpad for full code:
class _Title extends StatelessWidget {
  const _Title({
    Key key,
    this.text,
  }) : super(key: key);

  final String text;

  @override
  Widget build(BuildContext context) {
    final settings = context.dependOnInheritedWidgetOfExactType<FlexibleSpaceBarSettings>();
    final deltaExtent = settings.maxExtent - settings.minExtent;
    final t = (1.0 - (settings.currentExtent - settings.minExtent) / deltaExtent).clamp(0.0, 1.0) as double;
    final scaleValue = Tween<double>(begin: 1.5, end: 1.0).transform(t);
    return LayoutBuilder(
      builder: (context, constraints) {
        return Container(
          width: constraints.maxWidth / scaleValue,
          child: Text(
            text,
            maxLines: 1,
            overflow: TextOverflow.ellipsis,
          ),
        );
      }
    );
  }
}

It will then be cropped correctly:


[0.60.0] Fresh install : 'cxxreact/ModuleRegistry.h' file not found

When running an iOS fresh app with react-native 0.60.0 the build failed with this error:
'cxxreact/ModuleRegistry.h' file not found
macOS Mojave 10.14.5
xCode 10.2.1
React Native version:
react-native-cli: 2.0.1
react-native: 0.60.0
Steps To Reproduce

react-native init projectname
open . xcworkspace
hit run
=> error:
'cxxreact/ModuleRegistry.h' file not found

or

react-native init projectname
react-native run-ios
=> error:
error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening testproj060.xcworkspace. Run CLI with --verbose flag for more details. ** BUILD FAILED **

+1

+1

👋 as pointed out by @murrayee 	it's likely that you didn't have cocoapods installed - or something went wrong during linking. I just tried to do the same flow you described and I can't reproduce it - I'll close this for now.

i already had cocoapods installed.
Doing a brew install cocoapods and redo a pod install fix it, thanks

@murrayee I did what you told. But it showed '[!] No `Podfile' found in the project directory.'.
What should I do next?

@dragooncjw you need to execute pod install inside ios/ folder. Did you try that? 🤔

i try this same flow but i can't solve it


Hashed class name does not match expected class name

I'm having an issue importing the react-table.css with webpack. My webpack configuration file adds a hash to the end of css class names and the ReactTable component does not refer to the classes with the hashes.
So the hashed class name looks something like ReactTable-23I04 and the component is looking for a class name of ReactTable.
Any thoughts on a way to work around this? I've tried using two different css loaders with different tests but I haven't had much luck.

You will need to import the CSS file as a global CSS important. Though I
myself am not sure how exactly that is done
On Wed, Apr 19, 2017 at 5:54 PM Mark Hatch<EMAIL_ADDRESS>wrote:

I'm having an issue importing the react-table.css with webpack. My webpack
configuration file adds a hash to the end of css class names and the
ReactTable component does not refer to the classes with the hashes.
So the hashed class name looks something like ReactTable-23I04 and the
component is looking for a class name of ReactTable.
Any thoughts on a way to work around this? I've tried using two different
css loaders with different tests but I haven't had much luck.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tannerlinsley/react-table/issues/212, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AFUmCa7O4HQH7Bq62YOeJ1r3M_ilbch-ks5rxp7HgaJpZM4NCYNk
.

Does anything in this ticket help? https://github.com/tannerlinsley/react-table/issues/187
Normally the css loaders don't mangle class names. You might need to set up a custom test for this particular css file and tell it to not add a hash to the class names.

Yes, that does help! Thank you!


Synchronous deployment fails when stack has not changed

Right now ros-cdk deploy {stack_name} --sync fails when stack do not contains any new changes since last deployment.
Error: fail to sync update stack: NotSupported Update the completely same stack {stack_name} is not supported
It would be great to add flag like --skip-if-no-changes to ros-cdk deploy --sync command to handle such situations.
ros-cdk version: 1.0.17

ros-cdk 1.0.18 is released, --skip-if-no-changes is supported.
ros-cdk deploy {stack_name} --sync --skip-if-no-changes


Add docs/flashing_rust_sample.md document

This maybe can go to some dev-notes/ subdirectory.  But we also need a proper documentation which will be visible on the docs.fobnail.com


godoc!

I'm happy to see this repository, Carter.

Thanks for your contribution!
After merging this PR, I may reorder the badges within the README and will mirror this change to the other Go repositories in the organization.

Comments from the review on Reviewable.io

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io


SPIDER: CAPS meetings

http://api1.chicagopolice.org/clearpath/

To build this spider, look under the "Get community events" section  for api endpoints, and use the city clerk/city council spider as an example.

These events are being captured by the chi_police spider


ImageHandler unnecessarily reads extra images?

From some initial use and looking at logging output, it appears that constructing an ImageHandler and then using it for some step of the processing (e.g., nucleus detection, drift correction, spot detection) can result in unnecessary IO time and memory use because of extra image file parsing. "Extra" in the sense that there are some image files in subfolders of a main data folder that appear to have image files that are parsed even when they're not going to be used. That is, ImageHandler is very eager and general purpose, parsing images that it can "see" from the image_path value that's in use, while in fact it could be made lazier or we could modify the program and data type architecture to ensure that we do minimal IO work and reduce memory usage.

Currently, we can rename the raw image folders after deconvolution and nucleus detection, prefixing them with an underscore so that they're skipped by the image handler (discarded by its filter function -- ). This is nice, but we could make this less manual and less effectful on the file system.
Here's a rough outline of improvements we could do, increasing by difficulty and by soundness of the design.

Facilitate automatic renaming with underscore prefix after nucleus detection. This could be optional / a pipeline step. Default yes, opt-out
Ignore these locations (we know them from the config)
Redesign architecture so that ImageHandler isn't constantly looking in a centralised image location for each step.


Plans To Support Cortex v1.8+

Are there plans to release an updated chart adapted to the newer versions changes?
v1.9 is in progress and seems to have lots of improvements from v1.7

Sounds like the project needs more support.

@Carmezim this is being tracked here: https://github.com/cortexproject/cortex-helm-chart/pull/154


6 dry up addresses used in our specs

Resolves #001
Description

Type of change

The issue presented was to dry up number of test addresses within the spec files from 15 to one or two. I was successfully able to do this: there are now two test addresses and one test organization. One address is used with multiple tests, I had to change other test addresses to this one. The other test address was imported from a csv file into the test, in the original file, there were three addresses, I changed that to one and changed the test to only test to see if one was there. One test organization was needed for multiple tests, which is why I kept it.
How Has This Been Tested?
<! The issue was tested by running the entire rspec suite and then testing each error individually with
--next-failure, to replicate this, run rspec. As of now, the test suite runs with no errors
Screenshots

-->

@armahillo hey, is there anyway for you (or me even, but I think only you or another person on your end can do this) merge this into the repo under LoynoCS for diaper, I should've made the pull request there anyway,


dtypes alu test

@Qazalin I wrote some dtype tests, when these pass the bounty is yours.

yeah if these tests pass the implementation in core tinygrad is  done for that

there's only gonna be the CUDA overloads left which would require CI, I'm working on that next #2594


Question

How use autobuyer ?

As stated in #66 and #89 I will not provide support nor help for an autobuyer. It was developed just as a proof of concept and nothing more than that.
And even if I would, your chances of getting banned by using it are quite high.


react-scripts 5.0.1 having vulnerable transitive libraries

We are using react-scripts 5.0.1 library, and facing some security vulnerabilities in its dependent packages.

nth-check v1.0.2 - vulnerable to Inefficient Regular Expression Complexity
loader-utils v2.0.2 - A Regular expression denial of service (ReDoS) flaw was found in Function interpolateName in interpolateName.js in webpack loader-utils 2.0.0 via the resourcePath variable in interpolateName.js
minimatch v3.0.4 - A vulnerability was found in the minimatch package. This flaw allows a Regular Expression Denial of Service (ReDoS) when calling the braceExpand function with specific arguments, resulting in a Denial of Service.

These packages if upgraded to the below versions will fix the vulnerabilities:
nth-check v2.0.1
minimatch v3.0.5
Please upgrade react-scripts with transitive dependencies security patches.

PR #12172 should resolve all of those, but no work has been done on this repo since September from the looks of it.

See #11174, this is a non-issue

No update on this yet? I am having the same issue.
Node version: v14.18.3
Npm version: 6.14.15


Date and Time Issue for Python Script

There is no library to collect the date and time of pulling the images.

Added date and time library and expanded upon the ability to store information in the database to include the screenname, date and time of posting images.


Dockerised installation

Any chance that you could add a dockerfile for automating the installation of EPS + Bitcoin Core etc?

Any idea for when this might materialise?

I don't know.

I gave it a shot, here's where I am up to:

I created a docker image with Electrum Personal Server on Python3.7-alpine
A docker-compose.yml file builds an image of Bitcoin Core and tweaks the parameter to make the two dockerized applications work together
The first step seems to work, but I'm having various issues when I try to make a docker compose, I'm a bit unexperienced with docker...
If someone can help me debug it I'll open a PR

there appears to be a docker project here https://github.com/peleion/eps-docker

Yes I find another similar here https://github.com/takinbo/eps-docker and here https://github.com/schulterklopfer/bitcoind_tor_eps_docker
What I was up to was more similar to the 2nd one, an easy way to set bitcoind and eps using docker. This look interesting I will have a closer look, but maybe it doesn't make sense to add this kind of stuff in this repo

maybe it doesn't make sense to add this kind of stuff in this repo

Why not? (I've never used docker before so please forgive if its a silly question)

Don't worry I was just thinking out loud. It's not silly at all, and to answer it maybe we need to define what we want to achieve with a dockerized electrum personal server. In my view, it could be to :

make the install of electrum personal server easier (not very useful, it's already pretty straightforward, and people that are technical enough to use docker are not very likely to have issues installing electrum personal server in the first place)
Make it easily portable between different environments (I'm not sure if this is really an issue since it's lightweight and don't have much dependencies)
Bundle it with other software like bitcoind, tor, btcpay etc to reduce the configuration overhead for users
The proposal made in btcpay repo was clearly 3, and I think that's the valid use case for electrum personal server.

What we can aim to achieve is to make an "official" docker image that people can directly pull for their own project (and keep it up to date), and eventually make some modifications that are needed like adding HD keys at runtime for btcpay. Here's what we should do then:

make a Dockerfile template on this repo
use this Dockerfile to build a "canonical" docker image and upload it to dockerhub
make sure that user can update config.ini at run time (seems to me to be the tricky part, I have to see how the others that made a dockerfile tackle this)
Add other ad hoc features, like the run time add HD keys for btcpay

Let me know what you think.

I would be really interested in EPS in a docker.  Any further thoughts on if this will happen here?


Fluent-chaining rule does not allow comments in between member expressions

The following fails because of the comment. We should allow comment-only lines in between member expressions of fluent-calls.
obj.foo = _.chain(obj.something)
   .map(function(something) {
      return computeSomething(something);
   })
   // commented line mid expression
   .filter(_.identity)
   .value();

w00t! Thanks @jimjenkins5!


Update db-active-record.md

добавил Содержимое раздела

Merged! Thank you!

@SilverFire I do not think  this is correct. TOC is generated on the framework page but should not be added manually like this.

Yeah, sorry, it's my fault

no problem.


Unable to process incoming event 'ProgressComplete ' (ProgressCompleteEvent)

when type gradlew.bat build,met below error:
FAILURE: Build failed with an exception.

What went wrong:
Unable to process incoming event 'ProgressComplete ' (ProgressCompleteEvent)
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.

can you please show all the output you see in the console


[Meta] Consider making a Slack/Discord/Gitter Channel

Since this app is now open source, it would be nice if we all had a common place to discuss bugs, features, and planning for the insomnia app. Slack is great at this, as are the other options listed, but I seriously think we need to go with at least one. I don't mind starting it, but I think it should be done by the maintainers rather than the contributors.

Hey @ctnordcl. I had made a Slack team a while ago but it wasn't accessible. I just put up a Slackin server on Heroku. Here you go! https://chat.insomnia.rest/
Not sure where the best place to advertise this would be.

Added a badge to the README for now


replace the search module from lunr to infini pizza

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind design
/kind user-interface
Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area blog
/area documentation
What this PR does / why we need it:
This PR replaces the current offline search module, Lunr, by Infini Pizza, a webassembly based search module

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: fac8988beb81cd119f6e9f7305ec46053b336e70

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Have you considered an F-Droid repository?

Pretty simple question, have you considered either distributing your application on the official F-Droid repository or hosting your own? Technically Plex is a non-Libre service but the client should be fine for the official repo, and hosting one's own is pretty easy. For now I'm side-loading, but I'd like to see this happen and would be willing to help make it so.
If there's no interest in that here, I'll probably end up hosting my own. I'd like to do so in a way which is most acceptable to the people who have contributed to the project. Is there any particular information besides the obvious you'd like me to add or make note of if I do so?

I have no problem hosting it on F-Droid.   At least for the 1.9.x series.  I'm in the middle of some major rework on the 2.0.0 series, and that version is only going to be targeting Android TV and Fire TV devices currently.   As I get Milestone's ready for testing, I have no problems releasing those to F-Droid for distribution for that as well.   So feel free to add an entry to F-Droid.  Send me the link so I can share it on the wiki where people can download it.

Awesome, I'll do that.

Any updates here? Would be great to see this app on F-Droid

I

I'll re-open this and see what is involved... The app has changed a bit, and is only targeting TV enabled devices.

Looking into this further... F-Droid currently doesn't have native Android TV support.   This means you have to side load the app, and then it doesn't appear on the TV as an option.   I may look into contributing the necessary Launcher items for it but at this time.  I'm taking this out of scope for 2.1 but will keep it open pending F-Droid support for Android TV or Fire TV devices.
https://forum.f-droid.org/t/is-an-android-tv-version-planned-for-f-droid-in-the-future/1895

Probably not happening, side loading can be done with the versions released through github.


entity-filter card seems to not honor per-entity state_filter override

HA Client version: [Main menu -> About HA Client]
0.7.5
Home Assistant version:
0.100.2
Device name:
Redmi 5 Plus
Android version:
8.1.0
Description
Given the both mentioned entities are "on" the following config shows them both in HA client (incorrect) while showing none on HA site (correct).
      - type: entity-filter
        title: Attention!
        show_empty: false
        state_filter:
          - "on"
        entities:
          - entity: binary_sensor.hru_network
            state_filter:
              - "off"
          - entity: binary_sensor.fru_network
            state_filter:
              - "off"

Please consider fixing. TIA

Will be included in 0.8.0


The way the figcaption appears

Hi,
First of all, thank you for your excellent and beautiful work.
I have an image embed in a link (a element). Followed by a figcaption. I would like that the figcaption only appears when the image contains the lazyloaded class.
I have tried several things in jquery, but nothing that works correctly.
I am a perfect beginner, sorry for this question, maybe a little naive. Sorry for my bad english too.
Thank you already for your help.
Celio

Hi Celio,
no problem. Something that would be nice in the future: You should provide me with the code that you got so far. With your problem I needed 15 minutes to reproduce your problem and then 2 minutes to fix it. Please follow the issue template.
I think the following jsbin should help:
https://jsbin.com/sezaxicebi/1/edit?html,output

Hi Celio,
no problem. Something that would be nice in the future: You should provide me with the code that you got so far. With your problem I needed 15 minutes to reproduce your problem and then 2 minutes to fix it. Please follow the issue template.
I think the following jsbin should help:
https://jsbin.com/sezaxicebi/1/edit?html,output


package-lock modified, correct package not-found

I don't understand how this project is working under the hood. I moved to this package because npm-force-resolutions hinders a production install if it fixes devDependency issues.  I also like the new logging information!  However, it makes changes to package-lock.json for resolution but it never installs the latest package.
// My package.json
{
  // ...
  "devDependencies": {
      "eslint-plugin-mdx": "^1.16.0"
  },
  "resolutions": {
      "trim": "^1.0.1"
  }
  // ...
}

// package-lock.json
{
  // ...
  "packages": {
    // ...
    "node_modules/remark-parse": {
        "version": "8.0.3",
        "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz",
        "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==",
        "dev": true,
        "dependencies": {
          "ccount": "^1.0.0",
          "collapse-white-space": "^1.0.2",
          "is-alphabetical": "^1.0.0",
          "is-decimal": "^1.0.0",
          "is-whitespace-character": "^1.0.0",
          "is-word-character": "^1.0.0",
          "markdown-escapes": "^1.0.0",
          "parse-entities": "^2.0.0",
          "repeat-string": "^1.5.4",
          "state-toggle": "^1.0.0",
          "trim": "^1.0.1",
          "trim-trailing-lines": "^1.0.0",
          "unherit": "^1.0.4",
          "unist-util-remove-position": "^2.0.0",
          "vfile-location": "^3.0.0",
          "xtend": "^4.0.1"
        },
        "funding": {
          "type": "opencollective",
          "url": "https://opencollective.com/unified"
        }
      },
    // ...
  },
  "dependencies": {
    // ...
    "remark-parse": {
        "version": "8.0.3",
        "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz",
        "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==",
        "dev": true,
        "requires": {
          "ccount": "^1.0.0",
          "collapse-white-space": "^1.0.2",
          "is-alphabetical": "^1.0.0",
          "is-decimal": "^1.0.0",
          "is-whitespace-character": "^1.0.0",
          "is-word-character": "^1.0.0",
          "markdown-escapes": "^1.0.0",
          "parse-entities": "^2.0.0",
          "repeat-string": "^1.5.4",
          "state-toggle": "^1.0.0",
          "trim": "^1.0.1",
          "trim-trailing-lines": "^1.0.0",
          "unherit": "^1.0.4",
          "unist-util-remove-position": "^2.0.0",
          "vfile-location": "^3.0.0",
          "xtend": "^4.0.1"
        },
        "dependencies": {
          "trim": {
            "version": "^1.0.1"
          }
        }
      },
    // ...
    "trim": {
        "version": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
        "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
        "dev": true
      },
    // ...
  }
}

The package-lock.json is updated to resolve to the 1.0.1 version in all places except for the last tar.gz file.
Then if you peek into the node_modules/trim/package.json the version listed is still v0.0.1.  This means to me that it was never installed.  I though you might be using path shims or something and looked into node_modules/remark-parse for a possible node_modules folder with the correctly downloaded trim version and there is no folder there either.
Furthermore, if I run npm audit it still shows that<EMAIL_ADDRESS>has the vulnerability that I'm trying to override.
I performed this similar validation on npm-force-resolutions.  My results were: Run npm install, on preinstall the package-lock was modified and on the second npm install, the correct trim was installed at the top level.  Now I run install or ci and neither actually install the correct trim package.
This is the result I get when I try to verify what is installed.
$> npm ls trim
<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>  └─┬<EMAIL_ADDRESS>    └─┬<EMAIL_ADDRESS>      └──<EMAIL_ADDRESS>invalid: "^1.0.1" from node_modules/remark-parse

How is this supposed to work?

Hi @codejedi365 , I'll try to replicate today, and see if I can come up with a solution, if I can't replicate, I'll send you a message to get in touch and investigate the issue more deeply

Apologies for taking some days to answer, I didn't see the notification 👍

I have the same issue. As it is, force-resolution doesn't appear to be doing anything to actually force a version to be installed.

A new version is been released recently check the readme to join the discord server if issues are still happening
Here is the new version: https://www.npmjs.com/package/force-resolutions?activeTab=readme


Fix displaying issue of ContextMenu on OS X

Context menu is missing when right clicking on OS X.

thanks mate!


Optimizing KObjectHashMap hashIndex()

Motivation:
The IntObjectHashMap benchmarks show the Agrona collections to be faster on put, lookup, and remove. One major difference is that we're using 2 modulus operations each time we increment the position index while iterating.  Agrona uses a mask instead.
Modifications:
Modified the KObjectHashMap to use masking rather than modulus when wrapping the position index. This requires that the capacity be a power of 2.
Result:
Improved performance of IntObjectHashMap.

@Scottmitch @normanmaurer can you take a look?

FYI, this is to help address #3593.

@nmittler - LGTM!  The benchmarks results you posted look great...thanks for the boost!

LGTM - Please cherry-pick to the both branches once you are done with other comments. :+1:

@Scottmitch Oh I am simply using the JDK so th

@Scottmitch PTAL

@nmittler - Just a few nit comments.

@Scottmitch everything should be addressed except https://github.com/netty/netty/pull/3627#discussion-diff-28441850

@nmittler - Thanks! LGTM!  If pulling this in makes your and @buchgr's job easier feel free. Just submit a followup issue to move the findNextPositivePowerOfTwo.

@Scottmitch Added MathUtil ... shall I cherry-pick?

@nmittler +1.  Thanks again! Great work!

@nmittler pick it now!

committed to master and 4.1


[VS Code] The specified value isn’t a valid Live Share URL. Please check the link provided by the host and try again.

Error:
The specified value isn’t a valid Live Share URL. Please check the link provided by the host and try again.
Steps to Reproduce:

Version Data

extensionName
VSLS

extensionVersion
0.3.735

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.27.2

platformName
MacOS

platformVersion
17.7.0

Hey @Kaiser69 , could you provide some more information? We've generally found that this is a valid error message resulting from pasting something other than an active join link into the join link input box. Were you joining a Live Share session from the browser, or joining from within VS Code? Could you double check that the session you're trying to join is active and that you've correctly entered the join link?


add simpler parallel api request script + rename robust version so th…

Adding a simple example of how to run a parallel API request (following https://gist.github.com/neubig/80de662fb3e225c18172ec218be4917a). Also renaming the more robust parallel API request script so they will both sit side by side alphabetically.

Won't this simple version potentially hit rate limit errors?

Yes definitely. At best it's a quick and dirty script useful for small scale things. Once people hit rate limits they would have to switch to the robust one.

Given that the purpose of the parallel script is to allow massive batch processing of requests, and not hitting API rate limits is a critical element of this, I'll be closing this PR for now. But thank you for your contribution nonetheless!
Something we could revisit is writing a notebook about parallel calls were we slowly build up to this script, and include simpler examples there.


With invalid project collection address logged in successfully message

Here is a piece of a session, as you can see I've specified an invalid url, and typed random chars for password, but I still got a logged in successfully message. I think that the tool does not detect when the collection url is invalid.
PS C:\WINDOWS\system32> tfx login --authtype basic
Copyright Microsoft Corporation
Enter collection url > http://pippo.com
Enter username > alkampfer
Enter password >
logged in successfully

Do you have a recent version?  This was fixed a little while ago
https://github.com/Microsoft/tfs-cli/commit/81fea247716d52e2862d1bab7603f26075dc5e52
But I'll try again to verify

I see what the issue is.  If I type valid url but invalid creds, it catches it.  bad url + bad creds is not caught
-=B=- ~/Projects/Agent.Xplat$ tfx login
Copyright Microsoft Corporation
Enter collection url > https://bryanmac.visualstudio.com
Enter personal access token >
Error: Invalid credentials
-=B=- ~/Projects/Agent.Xplat$ tfx login --authtype basic
Copyright Microsoft Corporation
Enter collection url > https://bryanmac.visualstudio.com
Enter username > asdf
Enter password >
Error: Invalid credentials
-=B=- ~/Projects/Agent.Xplat$ tfx login --authtype basic
Copyright Microsoft Corporation
Enter collection url > http://wrongurl.com
Enter username > asdf
Enter password >
logged in successfully
-=B=- ~/Projects/Agent.Xplat$

exactly, it happens only if you specify an invalid project collection. It is surely a minor issue, but it is annoying because you think everything is ok then whatever further command you issue will fail.

thanks for this! wasn't catching all errors... also would have given successful login if your internet was unplugged and probably a slew of other things.


0 Byte files?

Hello :)
Just trying to find out if something changed:
I use TumbleThree for a long time now, but recently all I get are empty files, any tumblr blog.
It's also not a problem of the x64 version, I kept the old version and it happens there too.
I'm also logged in to tumblr.
Is there a problem with tumblr since a few weeks or is it just me (who changed nothing else)?

TumblThree version: <IP_ADDRESS>
OS: [e.g. Windows 7 ultimate
Browser: hm, newest FF is installed

Thanks for a hint :)

Hello
TumblThree works well here, but I use Win 10.
You can look in the windows event log or in TumblThree log file for a hint. The log file should be in %LOCALAPPDATA%\TumblThree or inside the program folder for portable mode.
We didn't hear of a general problem yet. Who else has Win 7? Does it work to you?

I also wonder since the "old version" of TT also creates 0 Byte files, so I thought it would be a tumblr problem (I expected they changed the API or something else)
The old version is <IP_ADDRESS>
Any newer TT version won't alter any relevant files, right? I think about the files in the "Index" folder containing settings for each blog. IOW, I can run <IP_ADDRESS> and any newer release without running into problems, right?
The log file in %LOCALAPPDATA%\TumblThree is empty.
I don't see anything in the Windows event log.
I can't think of any reason why it won't work with Win7 suddenly and I never had any problem with TT before :)
(just a side note: I wished there would be support for newTumbl, but I suppose this one is not easy to solve.)

Yes, version <IP_ADDRESS> and newer have the same file formats, so no problem. But as you already found out, the old versions show the same behavior, so you can also keep the newest version.
I have no clue what could be the problem. If you want, you can use the newest version and try to get a log file by the way described here.

ok, just tried this (added the lines to the config file), but nothing happens? No logfile was created.
Also, no new log in %LOCALAPPDATA%\TumblThree

ok, just tried this (added the lines to the config file), but nothing happens? No logfile was created.
Also, no new log in %LOCALAPPDATA%\TumblThree

Just a wild guess, but have you checked that there's still enough free space on the storage device?

Just a wild guess, but have you checked that there's still enough free space on the storage device?

yes, of course :)
(I would be a complete noob if not, lol)
The only thing I altered on my setup was unpacking the new TumblThree release. I went to the blog list, added a blog to the queue and started the download. I usually monitor the download folder after starting the queue and there I saw that every file has 0 bytes except the txt file (I currently don't know which).
I even made sure to be logged in to tumbler in TTA the settings.
Weird, that it only happens here, isn't it? :o

yes, of course :)
(I would be a complete noob if not, lol)
The only thing I altered on my setup was unpacking the new TumblThree release. I went to the blog list, added a blog to the queue and started the download. I usually monitor the download folder after starting the queue and there I saw that every file has 0 bytes except the txt file (I currently don't know which).
I even made sure to be logged in to tumbler in TTA the settings.
Weird, that it only happens here, isn't it? :o

ok, while not yet being able to use the newest release I tried downloading files with <IP_ADDRESS> again to see if it's still not downloading.
The files have content again! So this must have been a problem with tumblr, I did not change anything since the last time I posted here :)

Thanks for the information. It's good to hear it is working now.
Maybe you like to update to the newest version.

that I currently try to do :)
but since this problem here disappeared, I close the issue now


[Security] Update Docker image to able to run as a non-root user

Attempting to run the Docker image as a non-root user results in the following errors being thrown:
touch: ./env-config.js: Permission denied
/usr/share/nginx/html/env.sh: line 27: ./env-config.js: Permission denied
/usr/share/nginx/html/env.sh: line 30: ./env-config.js: Permission denied

@AaronChelvan thanks for contribution!
will be released as part of 4.15.0


how can i add custom attributes when signup

how can i add custom attributes when signup?
can i use ClientMataData ?
Thanks.

seems so
https://github.com/jonsaw/amazon-cognito-identity-dart/blob/676687346a963b37c96d7d52333d06153d9f69bb/lib/src/cognito_user.dart#L408
1st time we've tried, we got error code 400 SerializationException

Guys, fixed in forked branch https://pub.dev/packages/amazon_cognito_identity_dart_2
Welcome to contribute

@furaiev thanks for fixing this one quickly. i think it's also good to submit a PR to this repo so we can switch back to it once it is merged

I don't believe that owner will start support this package again. There are already 14 unresolved PRs.

final userAttributes = [
      new AttributeArg(name: 'name', value: name),
      new AttributeArg(name: 'custom: attribute_1, value: attribute_1),
      new AttributeArg(name: 'custom:attribute_2', value: attribute_2),
      new AttributeArg(name: 'custom:attribute_3', value: attribute_3),


Display collected caveats at end of install or upgrade

[X] Have you followed the guidelines in our Contributing document?
[X] Have you checked to ensure there aren't other open Pull Requests for the same change?
[X] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

Fixes #4057.
This PR collects all caveats encountered during an install, upgrade, or reinstall, and outputs them together at the end of the build.
It also keeps the per-formula caveats output with each individual formula, so when a user is scanning through a long build output, they notice the caveats for each formula, instead of having to skip down to the end to check if there were caveats for that build.
Uses a generic message-collection design, per @ilovezfs's suggestion at https://github.com/Homebrew/brew/pull/4359#issuecomment-398627182, so this could be combined with a build times output, or other output that combines messages from multiple formulae across a multi-step operation.
Example:
$ brew install vf vice
==> Downloading https://github.com/glejeune/vf/archive/0.0.1.tar.gz
Already downloaded: /Users/janke/Library/Caches/Homebrew/vf-0.0.1.tar.gz
==> Caveats
To complete installation, add the following line to your shell's rc file:
  source /usr/local/opt/vf/vf.sh
==> Summary
🍺  /usr/local/Cellar/vf/0.0.1: 6 files, 14.2KB, built in 2 seconds
==> Downloading https://homebrew.bintray.com/bottles/vice-3.1_1.high_sierra.bott
Already downloaded: /Users/janke/Library/Caches/Homebrew/vice-3.1_1.high_sierra.bottle.1.tar.gz
==> Pouring vice-3.1_1.high_sierra.bottle.1.tar.gz
==> Caveats
Apps for these emulators have been installed to /usr/local/opt/vice.
==> Summary
🍺  /usr/local/Cellar/vice/3.1_1: 1,493 files, 143.6MB
==> Caveats
==> vf
To complete installation, add the following line to your shell's rc file:
  source /usr/local/opt/vf/vf.sh
==> vice
Apps for these emulators have been installed to /usr/local/opt/vice.

@apjanke Can you rebase on origin/master? Thanks!

@apjanke Ignore me, all green now, thanks!

Thanks again @apjanke!


Mher/style fixes examples syllabus

this MR increases the pylint score from -16.38/10 to -10.0/10

syllabus style changes should be coordinated with @spzwart and @stevemcmillan


clCommandNDRangeKernelKHR does not return CL_INVALID_WORK_GROUP_SIZE when invalid work size are passed

While testing the Command Buffer Emulation layer, I noticed that clCommandNDRangeKernelKHR does not return CL_INVALID_WORK_GROUP_SIZE when invalid work size is passed whereas clEnqueueNDRangeKernel returns it.
When using the Command Buffer Emulation layer this error code is actually returned when calling clEnqueueCommandBufferKHR.
Test case
I set up a simple test based on 04Julia sample code to show this problem:
#include <popl/popl.hpp>

#define STB_IMAGE_WRITE_IMPLEMENTATION
#include <stb/stb_image_write.h>

#include <CL/opencl.hpp>

#include <chrono>

const char *filename = "julia.bmp";

const float cr = -0.123f;
const float ci = 0.745f;

static const char kernelString[] = R"CLC(
kernel void Julia( global uchar4* dst, float cr, float ci )
{
    const float cMinX = -1.5f;
    const float cMaxX =  1.5f;
    const float cMinY = -1.5f;
    const float cMaxY =  1.5f;

    const int cWidth = get_global_size(0);
    const int cIterations = 16;

    int x = (int)get_global_id(0);
    int y = (int)get_global_id(1);

    float a = x * ( cMaxX - cMinX ) / cWidth + cMinX;
    float b = y * ( cMaxY - cMinY ) / cWidth + cMinY;

    float result = 0.0f;
    const float thresholdSquared = cIterations * cIterations / 64.0f;

    for( int i = 0; i < cIterations; i++ ) {
        float aa = a * a;
        float bb = b * b;

        float magnitudeSquared = aa + bb;
        if( magnitudeSquared >= thresholdSquared ) {
            break;
        }

        result += 1.0f / cIterations;
        b = 2 * a * b + ci;
        a = aa - bb + cr;
    }

    result = max( result, 0.0f );
    result = min( result, 1.0f );

    // RGBA
    float4 color = (float4)( result, sqrt(result), 1.0f, 1.0f );

    dst[ y * cWidth + x ] = convert_uchar4(color * 255.0f);
}
)CLC";

void test(int platformIndex, int deviceIndex, size_t gwx, size_t gwy,
          size_t lwx, size_t lwy) {
  std::vector<cl::Platform> platforms;
  cl::Platform::get(&platforms);

  printf("Running on platform: %s\n",
         platforms[platformIndex].getInfo<CL_PLATFORM_NAME>().c_str());

  std::vector<cl::Device> devices;
  platforms[platformIndex].getDevices(CL_DEVICE_TYPE_ALL, &devices);

  printf("Running on device: %s\n",
         devices[deviceIndex].getInfo<CL_DEVICE_NAME>().c_str());

  cl::Context context{devices[deviceIndex]};
  cl::CommandQueue commandQueue =
      cl::CommandQueue{context, devices[deviceIndex]};

  cl::Program program{context, kernelString};
  program.build();
  cl::Kernel kernel = cl::Kernel{program, "Julia"};

  cl::Buffer deviceMemDst =
      cl::Buffer{context, CL_MEM_ALLOC_HOST_PTR, gwx * gwy * sizeof(cl_uchar4)};

  // execution
  {
    kernel.setArg(0, deviceMemDst);
    kernel.setArg(1, cr);
    kernel.setArg(2, ci);

    auto ResEnqueue = commandQueue.enqueueNDRangeKernel(
        kernel, cl::NullRange, cl::NDRange{gwx, gwy}, cl::NDRange{lwx, lwy});
    std::cout << "Result enqueueNDRangeKernel = " << ResEnqueue << std::endl;

    // Ensure all processing is complete before stopping the timer.
    commandQueue.finish();

    cl_command_buffer_khr cmdbuf =
        clCreateCommandBufferKHR(1, &commandQueue(), NULL, NULL);

    cl_sync_point_khr sync_point;
    auto ResAppend = clCommandNDRangeKernelKHR(
        cmdbuf, NULL, NULL, kernel(), 2, NULL, cl::NDRange{gwx, gwy},
        cl::NDRange{lwx, lwy}, 0, NULL, &sync_point, NULL);
    clFinalizeCommandBufferKHR(cmdbuf);

    auto ResEnqueueCB =
        clEnqueueCommandBufferKHR(0, NULL, cmdbuf, 0, NULL, NULL);

    std::cout << "Result clCommandNDRangeKernelKHR = " << ResAppend
              << std::endl;
    std::cout << "Result clEnqueueCommandBufferKHR = " << ResEnqueueCB
              << std::endl;
  }
}

int main(int argc, char **argv) {
  int platformIndex = 0;
  int deviceIndex = 0;

  {
    popl::OptionParser op("Supported Options");
    op.add<popl::Value<int>>("p", "platform", "Platform Index", platformIndex,
                             &platformIndex);
    op.add<popl::Value<int>>("d", "device", "Device Index", deviceIndex,
                             &deviceIndex);

    bool printUsage = false;
    try {
      op.parse(argc, argv);
    } catch (std::exception &e) {
      fprintf(stderr, "Error: %s\n\n", e.what());
      printUsage = true;
    }

    if (printUsage || !op.unknown_options().empty() ||
        !op.non_option_args().empty()) {
      fprintf(stderr,
              "Usage: julia [options]\n"
              "%s",
              op.help().c_str());
      return -1;
    }
  }

  std::cout << "Valid Sizes:" << std::endl;
  test(platformIndex, deviceIndex, 512, 512, 8, 8);

  std::cout << "Invalid Sizes:" << std::endl;
  test(platformIndex, deviceIndex, 8, 8, 16, 16);

  return 0;
}

Output
$> OPENCL_LAYERS=../../layers/10_cmdbufemu/libCmdBufEmu.so ./julia -p 3

**Valid Sizes:**
Running on platform: Intel(R) OpenCL
Running on device: 12th Gen Intel(R) Core(TM) i9-12900K
Result enqueueNDRangeKernel = 0
Result clCommandNDRangeKernelKHR = 0
Result clEnqueueCommandBufferKHR = 0
**Invalid Sizes:**
Running on platform: Intel(R) OpenCL
Running on device: 12th Gen Intel(R) Core(TM) i9-12900K
Result enqueueNDRangeKernel = **-54**
Result clCommandNDRangeKernelKHR = **0**
Result clEnqueueCommandBufferKHR = **-54**

Request
I understand from the specification that clCommandNDRangeKernelKHR should return the same errors as clEnqueueNDRangeKernel, except for a few, but CL_INVALID_WORK_GROUP_SIZE  should not be one of them.
If so, could you please fix this issue?

Thanks for the report!  I agree that the error should be returned by clCommandNDRangeKernelKHR and not clEnqueueCommandBufferKHR but it's going to be a little challenging for the command buffer emulation layer to implement this.  The reason why is because the call to clCommandNDRangeKernelKHR doesn't really do much OpenCL-wise and instead just records the call and its arguments for later.  This is also why the error is raised on the call to clEnqueueCommandBufferKHR, because this is when clEnqueueNDRangeKernel actually gets called.
I was hoping there would be some other proxy call I could make that might catch this type of error, but unfortunately I don't see any other calls that could identify CL_INVALID_WORK_GROUP_SIZE.  I think this means if we want to catch these errors in the layer we'll need to duplicate the error checking in the layer itself, but I'm a little worried this could be tricky and error-prone.  As an example, the "invalid sizes" are actually valid if the device supports non-uniform work-group sizes and the kernel was compiled for OpenCL 2.0 or newer!
Can you think of any other clever way to do this error checking?  If not, how important is it that this error gets properly returned by clCommandNDRangeKernelKHR?

Can you think of any other clever way to do this error checking?

Here's a bit of a crazy idea that might work and avoid duplicate error checking, but also seems a little tricky and error-prone:

Create one or more "test queues" during command buffer creation, one for each command queue that the command buffer will record to.  Each "test queue" will derive its properties from the passed-in command queues.  For example, the "test queue" will be created against the same device as the passed-in command queues, and perhaps using some or all of command queue properties for each of the passed-in command queues.
Also create a user event during command buffer creation, and enqueue a barrier dependent upon the user event into each command queue.
For every command recorded into the command buffer, also enqueue it to the "test queue".  This should perform error checking for things like CL_INVALID_WORK_GROUP_SIZE, but because the command in the "test queue" is dependent upon the user event it will not execute.
As part of command buffer finalization, set the user event to an error state, which should cause all commands enqueued into the "test queue" to be terminated.  Then, free the user event and all of the "test queues".

I think this is probably simpler than duplicating the error checking in the command buffer emulation layer, but I'm still not convinced it's worth the complexity.

I have a version of the idea described above implemented and it seems to be working:
https://github.com/bashbaug/SimpleOpenCLSamples/compare/cmdbuf-emu-test-queues
I think this is the expected output with proper error checking?
$ OPENCL_LAYERS=./libCmdBufEmu.so LD_PRELOAD=../lib/libOpenCL.so.1 ./juliacmdbuf -p2
Valid Sizes:
Running on platform: Intel(R) OpenCL HD Graphics
Running on device: Intel(R) Arc(TM) A750 Graphics
Result enqueueNDRangeKernel = 0
Result clCommandNDRangeKernelKHR = 0
Result clEnqueueCommandBufferKHR = 0
Invalid Sizes:
Running on platform: Intel(R) OpenCL HD Graphics
Running on device: Intel(R) Arc(TM) A750 Graphics
Result enqueueNDRangeKernel = -54
Result clCommandNDRangeKernelKHR = -54
Result clEnqueueCommandBufferKHR = 0

Note, I'm still a little nervous about enabling this by default, so you'll need to explicitly enable it by setting g_cEnhancedErrorChecking to true in the emulation layer main.cpp.  If this solves your problem I can look into a more friendly way to enable the "enhanced error checking", either dynamically (enviroment variable?) or via a CMake build option.
Note also, one of the GPUs I regularly test with appears to be outputting some information to stdout when the commands in the test queue are terminated.  The output is coming from the driver so there isn't anything the layer can do to suppress it.  The programs I am running to test with seem to be working fine even with the extra output, but it can be a little surprising.  The output looks like:
CL_DEVICE_NOT_FOUND error executing CL_COMMAND_NDRANGE_KERNEL on <device name> (Device <device number>).

I tried the cmdbuf-emu-test-queues branch out with the SYCL-Graph tests we had which motivated this issue, and setting g_cEnhancedErrorChecking does indeed fix the issues. See

https://github.com/intel/llvm/blob/sycl/sycl/test-e2e/Graph/RecordReplay/work_group_size_prop.cpp
https://github.com/intel/llvm/blob/sycl/sycl/test-e2e/Graph/Explicit/work_group_size_prop.cpp
https://github.com/intel/llvm/blob/sycl/sycl/test-e2e/Graph/Inputs/work_group_size_prop.cpp

The idea of having a test queue I think makes sense, rather than duplicating all the error checking code which might not even be possible to catch all the CL_INVALID_WORK_GROUP_SIZE cases.
Although enqueuing this extra work will have overhead, could maybe think of "enhanced error checking" as a kind of layer inside the layer that is enabled by an environment variable, since the user will already be setting the OPENCL_LAYERS environment variable.

OK great, that's encouraging.
I'll play around with several options to enable the "enhanced error checking" via a more friendly mechanism.


Test methods should not be empty

Category: Design
Severity: Warning
Enabled by default: true
Use cases to detect: test methods should not be empty

Probably not super useful rule so dropping it.


[REQUEST] Missing function ImGui::ActivateItemByID(ImGuiID id)

Hi!
It seems that the mentioned function is not exposed in the glue bridge provided by this package.
https://github.com/search?q=repo%3Aocornut/imgui ActivateItemByID&type=code
Is this something that could be considered? What is the best way to go about requesting non exposed functions?
Best,

Yo!
That's a nice question. I need to check how it works to understand how I can apply it in the current version.
As that is in internal file, I believe it requires more changes than I'm expected to do in this repo.
What do you need to do? Maybe there is something else we can work

Thanks for the response!
I'm looking into custom navigation behavior and I'd like to 'activate' focused elements by e.g. pressing 'right arrow' to fold out dropdowns and 'left arrow' to collapse them.
I implemented this for a c++ version by doing (pseudo):
void activate_widget(label)
{
    auto id = Imgui.get_id(label)
    Imgui.activate_item(id)
}

I'd also probably be looking to get my hands on e.g. NavMoveRequestCancel and some other internal imgui functions that are not exposed yet.


Bug fix wrong result of pipeline shuffle

Proposed changes
pick #22765 and #22942 #22973 #22988

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Harshad (Or Niven) Number

Description
An integer number in base 10 which is divisible by the sum of its digits is said to be a Harshad Number. An n-harshad number is an integer number divisible by the sum of its digit in base n.
For Example: 18 is a Harshad number as it is divisible by 1+8=9.
Domain
CPP
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

/assign

/assign


Merge controller branch into main

Add the functionality of the controller branch into the main branch ,It's like 20 commits behind.
I could implement this myself but It says that the Controller branch's readme that it is still experimental (Not sure if Readme is up to date). If it's really is still experimental, what other tests/features does it need?
and btw, Is it supposed to work automatically when switching between keyboard/gamepad or do you need to update the .env?

Hey, Livour. I appreciate your concern, but I'd rather keep the gamepad functionality somewhere else than the main script, for three reasons:

The code is easier to read. I want all people, even non-coders to be able to know what they're actually executing. 95%+ of people don't need gamepad support. They'd actually rather not have it.
It's one less potential dependency issue.
I want the main branch to be 100% test-able by me, and to be able to do it I'd have to own DS4 and Xbox gamepads which I don't have. I'm the main person answering github issues, so I want to know what I'm doing.

When xdenotte added Xbox gamepad support here, he said "there may be bugs, especially since I don’t know if DS4 works since because I don’t have it". That's the issue with gamepads. That's why I created a separate branch and labeled it as "Experimental" (might not be the semantically right word, but basically I meant "expect bugs").
Today, I've updated the gamepad branch to basically the newest version of the main branch, but exclusively for gamepads. The ahead/behind commit count is not a meaningful measure, as those branches are not planned to be merged.

and btw, Is it supposed to work automatically when switching between keyboard/gamepad or do you need to update the .env?

The gamepad branch is supposed to switch automatically between different gamepads, it doesn't support keyboard. The .env works in the exact same way as in the main branch; it stores screen dimensions.
I hope you understand <3
Have a nice day!


[Bug] Fix negative input in Logarithm Calculator

Description
In the logarithm calculator input section, the inputs are being taken through numeric sliders.
Now since we know that logarithm of negative numbers can't be calculated nor the base could be negative or one so rather than generating alert after we press Calculate Log option, how about we restrict the sliders to go beyond.
Also we can apply a simultaneous check which won't let us enter non-positive numbers through keyboard input as well.
[https://calcdiverse.netlify.app/calculators/logarithm-calculator/]
Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

👋 Hello! I'd be happy to help with this issue. Could you please assign it to me? Additionally, could you please label it for the appropriate level? Thank you! 🚀

@Rakesh9100
Kindly assign this issue to me for GSSoC'24 contribution.
I'll be glad to resolve this issue and make my contribution to open-source community.
Thanks!

Go ahead @Aarzookhunger

@Rakesh9100
Kindly add label regarding the level as well.
Thankyou!


Avoid creating too many Redis clients by reusing

fix #186
Using map to store redis session

cc @git-hulk

@erwadba Thanks for your contribution.

@erwadba Would you mind fixing the lint error?

@erwadba Would you mind fixing the lint error?

done.

@erwadba No worry about this error, it’s not related to this PR. I will merge this PR after fixing it.

https://github.com/apache/kvrocks-controller/blob/3a336a9b88faaef3678f2cfcdf81f67ae23d9d14/store/cluster.go#L48-L54
https://github.com/apache/kvrocks-controller/blob/3a336a9b88faaef3678f2cfcdf81f67ae23d9d14/controller/controller_test.go#L35-L40
Does --replica 1 represent a node in kvrocks cluter? It doesn't look like redis --replica 1 means 2 node

@erwadba No worry about this error, it’s not related to this PR. I will merge this PR after fixing it.

Would be fixed in PR: https://github.com/apache/kvrocks-controller/pull/188

https://github.com/apache/kvrocks-controller/blob/3a336a9b88faaef3678f2cfcdf81f67ae23d9d14/store/cluster.go#L48-L54
https://github.com/apache/kvrocks-controller/blob/3a336a9b88faaef3678f2cfcdf81f67ae23d9d14/controller/controller_test.go#L35-L40
Does --replica 1 means one node in kvrocks cluter? It doesn't look like redis --replica 1 means 2 node

Yes, --replica 1 means only one replica(master only).

Codecov Report
Attention: Patch coverage is 85.71429% with 2 lines in your changes missing coverage. Please review.

Project coverage is 57.69%.

Files
Patch %
Lines

controller/cluster.go
71.42%
0 Missing and 2 partials :warning:

Additional details and impacted files
@@              Coverage Diff              @@
##           unstable     #187       +/-   ##
=============================================
+ Coverage     43.35%   57.69%   +14.33%
=============================================
  Files            37       20       -17
  Lines          2973     2021      -952
=============================================
- Hits           1289     1166      -123
+ Misses         1544      718      -826
+ Partials        140      137        -3

Flag
Coverage Δ

unittests
57.69% <85.71%> (+14.33%)
:arrow_up:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


load_austraits broken

 at42 <- load_austraits(version = "4.2.0", path = "ignore/data", update = TRUE)
Error in open.connection(con, "rb") :
  cannot open the connection to 'https://zenodo.org/api/records/?q=conceptrecid:3568417&all_versions=true'
In addition: Warning message:
In open.connection(con, "rb") :
  cannot open URL 'https://zenodo.org/api/records/?q=conceptrecid:3568417&all_versions=true': HTTP status was '404 Not Found'
>     res <- jsonlite::read_json("https://zenodo.org/api/records/?q=conceptrecid:3568417&all_versions=true",
+                                simplifyVector = T)
Error in open.connection(con, "rb") :
  cannot open the connection to 'https://zenodo.org/api/records/?q=conceptrecid:3568417&all_versions=true'
In addition: Warning message:
In open.connection(con, "rb") :
  cannot open URL 'https://zenodo.org/api/records/?q=conceptrecid:3568417&all_versions=true': HTTP status was '404 Not Found'

Not sure what is going on, zenodo api had an upgrade, but their changelog doesn't seem to say anything that majorly affects us....

https://zenodo.org/api/records/8353840
This works but conceptrecid doesn't...

https://help.zenodo.org/docs/about/whats-changed/#records-commuinties

Gosh, bad timing with Lizzy running a workshop. I've just looked at various docs and can't figure out why our existing method fails.  However I have possible solution (see end below)
Illustrating issue with existing methods
For austraits
Concept id
conceptrecid: 3568417
doi: https://zenodo.org/doi/10.5281/zenodo.3568417 [works]
url: https://zenodo.org/records/3568417 [works]
api1: https://zenodo.org/api/records/3568417 [fails]
api2 (using search and all versions, i.e. our method): https://zenodo.org/api/records/?q=conceptrecid:3568417&all_versions=true [fails]
Specifc record
doi: https://zenodo.org/doi/10.5281/zenodo.8353840 [works]
api1: https://zenodo.org/api/records/8353840 [works]
api2 (using search and all versions, i.e. our method): https://zenodo.org/api/records/?q=id: 8353840&all_versions=true [fails]
But I don't think it's austraits specific. Here's
an entirely different repo showing the same behaviour
conceptrecid: 8436716
doi: https://zenodo.org/doi/10.5281/zenodo.8436716 [works]
url: https://zenodo.org/records/8436716 [works]
api1: https://zenodo.org/api/records/8436716 [fails]
api2 (using search and all versions, i.e. our method): https://zenodo.org/api/records/?q=conceptrecid:8436716&all_versions=true [fails]
However, again, calling a record directly works, but not using our method for querying
doi: https://zenodo.org/doi/10.5281/zenodo.8436717 [works]
api1: https://zenodo.org/api/records/8436717 [works]
api2 (using search and all versions, i.e. our method): https://zenodo.org/api/records/?q=id:8436717&all_versions=true
So it seems there's two things going on

Our existing method of queuing api is not working, whether we query via concept id or id
Concept id not recognised in direct requests for records, e.g. https://zenodo.org/api/records/8436716  (but I'm not sure if it ever did)

Possible solution
Calling this link seems to return a json with the info with all versions included:
https://zenodo.org/api/records/3568418/versions
Does this work for package?

Revisiting this conversation here @ehwenk  and @dfalster which versions do we want to display using get_versions
+   dplyr::mutate(version = gsub("v", "", version))
   publication_date                    doi version
1        2023-09-18 10.5281/zenodo.8353840   4.2.0
2        2023-01-30 10.5281/zenodo.7583087   4.1.0
3        2022-11-27 10.5281/zenodo.7368074   4.0.0
4        2021-07-14 10.5281/zenodo.5112001   3.0.2
5        2021-07-14 10.5281/zenodo.5099552   3.0.1
6        2021-07-14 10.5281/zenodo.5099545   3.0.0
7        2020-12-11 10.5281/zenodo.4316550   2.1.0
8        2020-07-08 10.5281/zenodo.4316516   2.0.0
9        2019-12-09 10.5281/zenodo.3583418   0.9.1
10       2019-12-09 10.5281/zenodo.3568429   0.9.0
11       2019-12-09 10.5281/zenodo.3568418   0.1.0

I recall anything before 3.0.2 can be ditched - right?!


No name prefix for 'Microsoft.Automation/automationAccounts'

No name prefix for 'Microsoft.Automation/automationAccounts'

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

ID: c6dff4c3-d2d7-3825-d753-fc7338004f43
Version Independent ID: b2c190ac-1d2e-93fc-caee-d59c278f549a
Content: Recommended naming and tagging conventions - Cloud Adoption Framework
Content Source: docs/ready/azure-best-practices/naming-and-tagging.md
Service: cloud-adoption-framework
Sub-service: ready
GitHub Login: @BrianBlanchard
Microsoft Alias: brblanch

Thanks for reporting - this issue is under review.  This is a Microsoft Internal DevOps Bug ID AB#247465

Duplicate of issue # 238.


Create an about component

Create a new about component that mentions about the project, the two teams building it and connect it with router.

Hey :)
I can take that.
Can you provide info, that I should add there?

Yeah sure!
For the time being, put up Lorem Ipsum text of 2 paragraph and add a link to contributors page. :+1:

Sure, you can assign it to me then :)

done


Roku-Google Photos albums recently out-of-sync with image order of online albums

I used to be able to view my photos on Roku in the order I had arranged within the albums online, recently this has been changing.
On my newer albums, Roku-GooglePhotos disregards the the image order I arranged online and photos are displayed in chronological order.
In my older albums, Roku-GooglePhotos does display the photo order I arranged. However, if I add photos to an older album, then my online arrangement of photos is ignored and only shows in chronological order.
My Slideshow Order is set at Album Order (default)
Note: I went to my old Roku Picasa program, and found the same problem there.
Thanks so much for this wonderful program I would love to get it showing the way it did previously!

Thank you for the directions.
• My Slideshow Order has already been set at "Album Order (default)".  The photos show chronologically, rather than my order in Google Photos.
• When I try setting it on reverse Album Order, they appear in reverse chronological order.
I have uninstalled and reinstalled roku - GooglePhotos several times and reset the slideshow order to "Album Order." I also have deleted the Picasa screensaver. I still have the same problem.
What would you advise me to do?

I’m guessing your looking at items in the Google Timeline album. You could
try creating a new album and add all your photos to it, and setup whatever
order you want.  The Roku app should then honor that order.
Every testing I’ve done indicates this works as designed.  Good luck.
On Tue, Nov 20, 2018 at 1:47 AM BethTimken<EMAIL_ADDRESS>wrote:

Thank you for the directions.
• My Slideshow Order has already been set at "Album Order (default)". The
photos show chronologically, rather than my order in Google Photos.
• When I try setting it on reverse Album Order, they appear in reverse
chronological order.
I have uninstalled and reinstalled roku - GooglePhotos several times and
reset the slideshow order to "Album Order." I also have deleted the Picasa
screensaver. I still have the same problem.
What would you advise me to do?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/chtaylo2/Roku-GooglePhotos/issues/149#issuecomment-440163038,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQFZQkrX8aLYHVy6Ln0ty9fyiSjBzsUWks5uw6WHgaJpZM4YoFrk
.

Thank you for taking the time to answer my questions, Chris.  I appear to have resolved the problem and I thought you'd like a follow-up for possible future reference.
My PhotoView album's orders were out of sync with online Google Photos due to one or both of the following reasons:
•  Changed dates on photos
•  lmages having been archived or sent to the trash from within an album. (Our son saw some online mentioning this)
I duplicated several albums -- the new albums now keep my set order on Photo View!
The fresh albums don't have the residual glitches that were created in the old albums due to my changing dates and/or trashing photos from within the album.
Note: The albums that didn't work properly on PhotoView had blank spots in-place of some of my photos. The blank spots appeared in in both the album's 'Slideshow' and 'Browse Album' function (however the photo titles still showed). Also these album's slideshow would not keep going automatically -- when a blank image came up, the slideshow would stop and Roku changed to screensaver mode.
(If you want, I can provide screenshots)
..........
All's well that ends well! I am now enjoying wonderful images on Roku do to your wonderful application. Thank you!


Backup using the http://x.y.z.j:8055/gb/doBackup link does not work.

These are the logs messages:
x.y.z.j is the homeassistant ip
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx is the google drive dir
DEBUG:root:backup fromPattern: /backup/*.tar
DEBUG:root:backup backupDirID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DEBUG:root:backup user_agent: http://x.y.z.j:8055/
INFO:oauth2client.client:Refreshing access_token
INFO:oauth2client.transport:Attempting refresh to obtain initial access_token
INFO:oauth2client.client:Refreshing access_token
WARNING:googleapiclient._helpers:build() takes at most 2 positional arguments (3 given)
DEBUG:googleapiclient.discovery:URL being requested: GET https://www.googleapis.com/drive/v3/files?q=name%3D'74a4b4b3.tar'+and+'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx%27+in+parents+and+trashed+%3D+false&spaces=drive&fields=files%28id%2C+name%29&alt=json
INFO:root:Backing up /backup/74a4b4b3.tar to xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DEBUG:root:drive_service = <googleapiclient.discovery.Resource object at 0x7f878f8acbd0>
DEBUG:root:MIMETYPE = application/tar
DEBUG:root:TITLE = Hassio Snapshot
DEBUG:root:DESCRIPTION = Hassio Snapshot backup copy
DEBUG:root:media_body: <googleapiclient.http.MediaFileUpload object at 0x7f878fe4a9d0>
DEBUG:googleapiclient.discovery:URL being requested: POST https://www.googleapis.com/upload/drive/v3/files?alt=json&uploadType=resumable
ERROR:root:Traceback (most recent call last):
File "/googlebackup/gb/views.py", line 98, in doBackup
fromPattern, backupDirID, request.build_absolute_uri("/")
File "/googlebackup/gbcommon.py", line 316, in backupFiles
backupFile(file, backupDirID, drive_service, MIMETYPE, TITLE, DESCRIPTION)
File "/googlebackup/gbcommon.py", line 199, in backupFile
new_file = drive_service.files().create(body=body, media_body=media_body).execute()
File "/usr/local/lib/python3.7/site-packages/googleapiclient/_helpers.py", line 134, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/googleapiclient/http.py", line 899, in execute
_, body = self.next_chunk(http=http, num_retries=num_retries)
File "/usr/local/lib/python3.7/site-packages/googleapiclient/_helpers.py", line 134, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/googleapiclient/http.py", line 1078, in next_chunk
self.resumable_uri, method="PUT", body=data, headers=headers
File "/usr/local/lib/python3.7/site-packages/oauth2client/transport.py", line 175, in new_request
redirections, connection_type)
File "/usr/local/lib/python3.7/site-packages/oauth2client/transport.py", line 282, in request
connection_type=connection_type)
File "/usr/local/lib/python3.7/site-packages/httplib2/init.py", line 1709, in request
conn, authority, uri, request_uri, method, body, headers, redirections, cachekey,
File "/usr/local/lib/python3.7/site-packages/httplib2/init.py", line 1448, in _request
_("Redirected but the response is missing a Location: header."), response, content,
httplib2.error.RedirectMissingLocation: Redirected but the response is missing a Location: header.
INFO:root:googlebackup result: {'errorMessage': 'Redirected but the response is missing a Location: header.'}
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): hassio:80
DEBUG:urllib3.connectionpool:http://hassio:80 "POST /homeassistant/api/services/mqtt/publish HTTP/1.1" 200 2
DEBUG:root:<Response [200]>
Internal Server Error: /gb/doBackup
ERROR:django.request:Internal Server Error: /gb/doBackup
Thx for help
Roberto

I'm also seeing this error message ("Redirected but the response is missing a Location: header.")
My backups stopped working in June but I just noticed over the past few days. I can't trigger the copy of a backup via Postman and my automated (add-on) scheduled copying is throwing the same error.

I'm very sorry, but I no longer have a Home Assistant environment, and am not in a position to support this add-on anymore. I apologize for the inconvenience. I'm really not sure how to "drop support" of something like this. The code is available for anyone to take it, if they want. I think I remember seeing that there's another add-on similar to mine that may even be better.

I'm very sorry, but I no longer have a Home Assistant environment, and am not in a position to support this add-on anymore. I apologize for the inconvenience. I'm really not sure how to "drop support" of something like this. The code is available for anyone to take it, if they want. I think I remember seeing that there's another add-on similar to mine that may even be better.

@samccauley no worries it happens to drop projects!
There is a new one here: https://github.com/sabeechen/hassio-google-drive-backup
You should Archive the project and put a warning with the alternatives :)


[Feature request]  Guess that Sticker Game

Is your feature request related to a problem?
Describe the solution you'd like
have the bot post a sticker, give the user 7 seconds to respond to answer. user can also bet money which is doubled when winning.
Describe alternatives you've considered
use bootstrap to auto update stickers
Additional context
lesirh kinda sexy though

Not enough variety to put a reasonable monetary value on it.


requesting For loop fix

int void()
{
@pubilc Function ();
}
return():
}

What? Also, dashactyl is coded on JS, not C.

Don’t open meaningless issues here.