Multiple widgets used the same GlobalKey.

The following assertion was thrown while finalizing the widget tree:
Multiple widgets used the same GlobalKey.
The key [GlobalKey#e1875] was used by multiple widgets. The parents of those widgets were:

PlatformView-[GlobalKey#e1875]
MobileOsmFlutter(state: MobileOsmFlutterState#00c91)
A GlobalKey can only be specified on one widget at a time in the widget tree.

Code:
import 'package:flutter/material.dart';
import 'package:flutter_osm_plugin/flutter_osm_plugin.dart';
import 'package:work_app/views/screens/constants.dart';
import 'package:work_app/widgets/primary_button.dart';

class AddAddressScreen extends StatefulWidget {
  const AddAddressScreen({super.key});

  @override
  State<AddAddressScreen> createState() => _AddAddressScreenState();
}

class _AddAddressScreenState extends State<AddAddressScreen> {
  MapController mapController = MapController(
    initPosition: GeoPoint(latitude: 47.4358055, longitude: 8.4737324),
    areaLimit: BoundingBox(
      east: 10.4922941,
      north: 47.8084648,
      south: 45.817995,
      west: 5.9559113,
    ),
  );

  @override
  void dispose() {
    mapController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Add New Address'),
      ),
      body: SafeArea(
          child: OSMFlutter(
              controller: mapController,
              osmOption: OSMOption(
                isPicker: true,
                showZoomController: true,
                userTrackingOption: const UserTrackingOption(
                  enableTracking: true,
                  unFollowUser: false,
                ),
                zoomOption: const ZoomOption(
                  initZoom: 8,
                  minZoomLevel: 3,
                  maxZoomLevel: 19,
                  stepZoom: 1.0,
                ),
                userLocationMarker: UserLocationMaker(
                  personMarker: const MarkerIcon(
                    icon: Icon(
                      Icons.location_history_rounded,
                      color: Colors.red,
                      size: 48,
                    ),
                  ),
                  directionArrowMarker: const MarkerIcon(
                    icon: Icon(
                      Icons.double_arrow,
                      size: 48,
                    ),
                  ),
                ),
                roadConfiguration: const RoadOption(
                  roadColor: Colors.yellowAccent,
                ),
                // markerOption: MarkerOption(
                //     defaultMarker: const MarkerIcon(
                //         icon: Icon(
                //           Icons.person_pin_circle,
                //           color: Colors.blue,
                //           size: 56,
                //         ),
                //     )
                // ),
              ))),
      bottomSheet: DraggableScrollableSheet(
        expand: false,
        maxChildSize: 0.7,
        snap: true,
        initialChildSize: 0.3,
        minChildSize: 0.2,
        builder: (BuildContext context, ScrollController scrollController) {
          return Container(
            color: const Color(0xFFE6E6E6),
            child: SingleChildScrollView(
              padding: const EdgeInsets.all(32),
              controller: scrollController,
              child: Column(
                // crossAxisAlignment: CrossAxisAlignment.stretch,
                children: [
                  primaryTitle('Type your address'),
                  heightGap20,
                  Wrap(
                    runSpacing: 30,
                    children: [
                      textInput(
                        label: 'Building Name/Street Name',
                      ),
                      textInput(
                        label: 'Locality/Area',
                      ),
                      textInput(
                        keyboardType: const TextInputType.numberWithOptions(),
                        label: 'Pin Code',
                        // keyboardType: TextInputType.number,
                      ),
                    ],
                  ),
                  heightGap40,
                  PrimaryButton(onPressed: () {}, label: 'Save Address')
                ],
              ),
            ),
          );
        },
      ),
    );
  }

  Widget textInput(
      {required String label,
      TextEditingController? controller,
      TextInputType? keyboardType}) {
    return TextFormField(
      controller: controller,
      keyboardType: keyboardType,
      decoration: InputDecoration(
        hintText: label,
        border: OutlineInputBorder(borderRadius: BorderRadius.circular(8)),
      ),
    );
  }
}

i will do quick fix for it

I got the same error when I got version 1.0.0 and also 1.0.1. Please help me.

i made the fix but i was fixing something else so i was lazy little bit to do update but will be in couple of minutes sorry for that

sorry for this there is issue in dart github action with publishing new version tp pub.dev
so the new version will delayed little bit until find solution

I have the same problem after updating from 1.0.0-rc.6 to 1.0.1.

new version 1.0.2 has been published now

Done, your team worked so quickly, thank you very much

Thanks.


Mouseguard 2E Sheet doesn't show up in app dropdown

Hello, the sheet  was submitted 21 days ago and was successfully pulled but doesn't show up in the available sheets.

I've added Mouseguard 2e to the approve yaml. It should be live later today.


Add more Admin tools

Currently, the feature set found in the Admin panel for the system is quite lacking. More tools should be added, but what tools?

You can add log filtering based on preference like date name or duration, If they are currently working on something you can show active status etc..

Is there anyway to get admin status on the test site? It's harder to implement changes and test them if you are not a adminostrator.


add rule for matching primitive equality.

@TabDigital/ping-api

That's interesting, I don't think strummer validated values before but I'm sure there's lots of use cases :+1:
Is there a reason for this to be in boolean specifically though? Could we equally as well test other primitives? Maybe s.equals(primitive)? Handling objects might be trickier because of strict equality.

my comment has a typo in it @rprieto :(
let me look into that, as i hadnt thought of it.

@TabDigital/ping-api ok i have changed it from being boolean only to primitive

Also it would be great if you please add some documentation for new matcher as well

i missed the usage examples. i shall update

@mehdivk please check if you are happy with my changes. cheers

@asceresini Sorry to be very fussy but in MATCHERS.md file, for each matcher we have a link on top of file which links to the matcher example, can you please add that one as well :)

doh

good catch

@mehdivk done

LGTM :+1:

Minor comments in the tests, otherwise looks great to me too :ship: it

I'm a little bit confuse about this change. This functionality looks much like the assert. If it's a single value checking stuff. I would love to use enum with single value:
s.enum({ values: [1] })

which can provides:

single value validate.
json schema generation.

@kiddkai it doesnt seem self explanatory that you would use enum for that.

Then can we find something can be matched to fits the json schema? I assuming that we gonna using this definition in the route level.

Good point about JSON schema. Maybe keeping s.equals(value), but toJSONSchema generates an enum of one?
Second thoughts about naming, all matchers in strummer are nouns (function, object, integer, ...). Should this be s.value(primitive)? And value is kind of an enum of one.

+1 for s.value

@rprieto @kiddkai
ok so I have:

rename to s.value,
check expected value in constructor
and add schema

@TabDigital/ping-api so who can publish for me?

LGTM :+1:

awesome, thanks for your help @kiddkai. ill merge and then bug @rprieto about publishing :dancer:


Propose changes to User Stories

The purpose of this pull request is to

discuss the use of the term "lab tags"

I think it might be too implementation/UI specific so I propose to remove those terms.

discuss if step 1b2 for both UC3 and UC4 are necessary

Would it make more sense to just end the use cases?

Codecov Report

Merging #40 (15475e6) into master (397abb6) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #40   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Continue to review full report at Codecov.

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


release v5.11.0

:robot: I have created a release beep boop
5.11.0 (2024-01-10)
✨Features

转移topjf项目 (a7b17f6)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/niuger/niuger/releases/tag/v5.11.0 :sunflower:


FeatureFlag targeting filter is case-sensitive

Hi!
I saw from the sibling issue of this (https://github.com/Azure/AppConfiguration/issues/52) that the whole AppConfiguration system is case-sensitive by design, but I thought I'd post this anyway.
After implementing this in our app, on the first feature to toggle on our product owner pasted some emails into the user targeting textboxes and it didn't work - they we<EMAIL_ADDRESS>Could the targeting user/group comparisons be made case-insensitive, or that is also by design?
Thanks!

Hi @andyhammar, you can setup TargetingEvaluationOptions.IgnoreCase to perform case-insensitive comparison.


Support smooth scrolling on notebook touchpads.

Fixes #3363
HID mode doesn't support this smooth scrolling, because sending fractional scrolling distance over standard HID mouse protocol seems complicated. I may investigate more in the future (plus horizontal scrolling support).
Only tested on Windows with both mouse and touchpad.

Thank you :+1: (and sorry for the delay).
I rebased on dev (and squashed your 2 commits), and made the following changes:

extracted a function fixedPointToFloat() used for pressure as a preliminary commit before your changes;
use this function in your commits;
remove the inversion of horizontal scrolling (it looks suspicious to me, cf https://github.com/Genymobile/scrcpy/issues/966#issuecomment-560394359, please take a look and confirm that it works as expected for you);
used compile-time #if to filter according to SDL_VERSION_ATLEAST().

I was first annoyed by the CLAMP() between -1 and 1, but the Android side expects a value in this range: AXIS_VSCROLL, so it's better to clamp anyway (even if SDL could trigger values outside this range).
I could not test since on my computer, only -1 or +1 values are generated.
Please review and test this branch: pr3369.1.

I changed to encode as a signed integer (with a more natural two's complement):

-1.0f → 0x8000
-0.5f → 0xC000
0.0f → 0x0000
0.5f → 0x4000
1.0f → 0x7FFF

I added the necessary util functions and unit tests beforehand, then adapted your commit to use them.
Please review and test pr3369.3.
Thank you :wink:

@yume-chan Did you have a change to test/review? (It's not urgent)

Sorry, I'm still busy working on another project. I always have this on my todo list and will report back once that's finished.

I merged into dev. Everything looks good to me.

This works great on my Mac, both with touchpad and mouse.
The scrolling is much nicer now.
The version should probably be bumped, because of the incompatible server/client.
When I tried to scroll with mismatched server, I got a lot of
[server] WARN: Unknown event type: -116

(with the number varying for different runs) and then scrcpy would become completely unresponsive. (That the scrolling didn't work was expected, but a little surprising that it didn't recover.)
Also, had to change PLATFORM and BUILD_TOOLS from 31 to 33 in server/build_without_gradle.sh, because otherwise I kept getting
[server] INFO: Device: Sony G8441 (Android 9)
[server] ERROR: Exception on thread Thread[main,5,main]
java.lang.AssertionError: java.lang.NullPointerException:
 Attempt to invoke virtual method
 'java.lang.reflect.Method java.lang.Class.getMethod(java.lang.String, java.lang.Class[])'
 on a null object reference
        at com.genymobile.scrcpy.wrappers.WindowManager.registerRotationWatcher(WindowManager.java:108)
        at com.genymobile.scrcpy.Device.<init>(Device.java:85)
        at com.genymobile.scrcpy.Server.scrcpy(Server.java:65)
        at com.genymobile.scrcpy.Server.main(Server.java:335)
        at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
        at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:340)
Caused by: java.lang.NullPointerException:
 Attempt to invoke virtual method
 'java.lang.reflect.Method java.lang.Class.getMethod(java.lang.String, java.lang.Class[])'
 on a null object reference
        at com.genymobile.scrcpy.wrappers.WindowManager.registerRotationWatcher(WindowManager.java:102)
        ... 5 more
2022-09-02 13:12:05.549 scrcpy[48321:5695314] DEBUG: Interrupting socket
2022-09-02 13:12:05.549 scrcpy[48321:5695314] DEBUG: Server disconnected
2022-09-02 13:12:05.549 scrcpy[48321:5695314] DEBUG: Server terminated

@metayan Thanks for the verification!
In addition, can you verify does horizontal scrolling works (not flipped) on both touchpad and mouse (if you have a mouse with horizonal scroll wheel)? You can open the browser app on your phone and pinch out to zoom in, then scroll horizontally.

The version should probably be bumped

It will, when the new version is released.

then scrcpy would become completely unresponsive

That's expected. The packet size changed, so after one mismatched packet, the whole stream becomes out of sync.

Also, had to change PLATFORM and BUILD_TOOLS from 31 to 33

This looks unrelated to this PR, maybe you want to open a new issue for further investigation.

@metayan Thanks for the verification!
In addition, can you verify does horizontal scrolling works (not flipped) on both touchpad and mouse (if you have a mouse with horizonal scroll wheel)? You can open the browser app on your phone and pinch out to zoom in, then scroll horizontally.

It is "flipped" on the touchpad.
With "Scroll direction: Natural" set in preferences, the vertical scroll follows the fingers, but the horizontal moves in the opposite direction.
I don't have a mouse with horizontal scroll wheel.

The version should probably be bumped

It will, when the new version is released.

Might be an idea to bump it immediately when changing the protocol, so anyone building from source will notice the mismatch right away. Your choice, of course. ;)

Also, had to change PLATFORM and BUILD_TOOLS from 31 to 33

This looks unrelated to this PR, maybe you want to open a new issue for further investigation.

Seems so. Will do.


add fix for expired ROS apt key.

Info: https://discourse.ros.org/t/ros-gpg-key-expiration-incident/20669
I'm not sure if this was fixed already (I didn't see something in the commits, unless I missed it), but this is what I had to do to get things working again. I'm also not sure if this is the best way to fix it.
cc @KhaledSharif @marinagmoreira @bcoltin

@trusktr is the original command working again?

@bcoltin Yeah, worked after I blew away docker cache and worked out the other issues.


Enable Continuous auto kill

Description
This change enables the KillUnusedSegments coordinator duty to be scheduled continously in a custom duty group. Things that prevented this, or made this difficult before were the following:

The druid.coordinator.kill.period was forced to be set greater than the druid.coordinator.period.indexingPeriod

If scheduled at fast enough rate, the duty would find the same intervals to kill for the same datasources, while kill tasks submitted for those same datasources and intervals were already underway, thus wasting task slots on duplicated work.

The task resources used by auto kill were previously unbounded.  Each duty run period, if unused
segments were found for any datasource, a kill task would be submitted to kill them.

This pr solves for both of these issues:

The druid.coordinator.kill.period is now compared against the dutyPeriod, which is either the customDuty period if configured or the indexerPeriod if not.

The duty keeps track of the end time of the last interval found when killing unused segments for each datasource, in a in memory map. The end time for each datasource, if found, is used as the start time lower bound, when searching for unused intervals for that same datasource. Each duty run, we remove any datasource keys from this map that are no longer found to match datasources in the system, or in whitelist, and also remove a datasource entry, if there is found to be no unused segments for the datasource, which happens when we fail to find an interval which includes unused segments. Removing the datasource entry from the map,  allows for searching for unusedSegments in the datasource from the beginning of time once again

The unbounded task resource usage can be mitigated with coordinator dynamic config added as part of https://github.com/apache/druid/commit/ba957a9b97b6bdbecb166db771721cced1dac365

Operators can configure continous auto kill by providing coordinator runtime properties similar to the following:
druid.coordinator.dutyGroups=["customKill"]
druid.coordinator.customKill.duties=["killUnusedSegments"]
druid.coordinator.customKill.period=PT1S
druid.coordinator.kill.period=PT1S

And providing sensible limits to the killTask usage via coordinator dynamic properties.
Release note
update: The property druid.coordinator.kill.period which controls the period  at which unused segments are automatically cleaned up by the coordinator, if auto kill is enabled, has had its default value changed from P1D , to instead default to the same value as the coordinator indexing period.
This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[x] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[x] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[x] been tested in a test Druid cluster.

Personally, I think https://github.com/apache/druid/pull/12599 is a must have before enabling continuous auto kill. Otherwise one tiny mistake in your loadRule can result in data being permanently deleted from s3 right away.

Docs LGTM


Fix php stan level 5

We should wait the merge of #129 before ( so we can remove the ignore of the errors in phpstan configuration file )

Yes when the 129 is merge i modify the  phpstan configuration file

Done @nenes25


Pressing tab doesn't focus in editor

Pressing tab doesn't focus in editor
Jodit Version:  4.2.27
Browser: Chrome
OS:  Windows
Is React App: False
Reproduced on xdsoft.net: True
Expected behavior:
pressing tab should be able to focus editor.
Actual behavior:
Editor is never focused by tab
you can check from https://xdsoft.net/jodit/

By default, the reactor has the tabIndex=-1 option enabled.


Add support for ALB SSLPolicy

Problem
The SSL policy is set to None by default. This means all versions of TLS, etc are supported and cannot be controlled.
Solution

Added a new loadbalancer_ssl_policy var

Testing

Tested without setting a policy:    setting.1638443858.name:                "SSLPolicy"
    setting.1638443858.namespace:           "aws:elbv2:listener:443"
    setting.1638443858.resource:            ""
    setting.1638443858.value:               ""

Tested with a policy:    setting.117693523.name:                 "SSLPolicy"
    setting.117693523.namespace:            "aws:elbv2:listener:443"
    setting.117693523.resource:             ""
    setting.117693523.value:                "ELBSecurityPolicy-TLS-1-2-2017-01"

FYA: @osterman @aknysh

thanks @johncblandii


price smaller than undefined$

This output just started happening, and it was working great the last few days. Any ideas?
No email field
Page 1 Start:
giveaway 1 is ready!
giveaway 1 price smaller than undefined$.
giveaway 2 is ready!
giveaway 2 price smaller than undefined$.
giveaway 3 is ready!
giveaway 3 price smaller than undefined$.
giveaway 4 is ready!
giveaway 4 price smaller than undefined$.
giveaway 5 is ready!
giveaway 5 price smaller than undefined$.

Edit your .ggrc.json by putting a comma on the last line before the } and putting
"minimum_price": 10
as the new last line.  Save it and see if that fixes it.   This option was added to the most recent version.

Fixed in v3.4.1, default is now 0, even if value is not defined in config file.


ESM support

Waiting on updates to NX to better support building. The rest of the repo so far seems pretty close to where it needs to be
https://togithub.com/nrwl/nx/pull/10414

Experimented with using the esbuild bundler from nx. This tentatively seems to produce builds in a format, that function as expected.
The blocker now seems to be with the Nest framework, and a potential lack of ESM support there. It seems like injected values are provided as undefined unless explicitly annotated with an @Inject call.
This probably isn't a huge issue for home automation apps. Given the quantity of specialized @Inject calls this library provides, they'd just blend in. With terminal apps, most this would be a new / inconvenient pattern.
Needs more research before getting creative


SciPy 1.9 exception in LSQSphereBivariateSpline

The issue is an exception in SciPy 1.9.0 which did not occur in earlier versions of SciPy ...
File "~/PyGeodesy/pygeodesy/heights.py", line ...
    self._ev = scipy.interpolate.LSQSphereBivariateSpline(..., eps=EPS, w=w).ev
 File "~/Library/Python/3.8/lib/python/site-packages/scipy/interpolate/fitpack2.py", line 1549, in __init__
    if w is not None and not (w >= 0.0).all():
TypeError: '>=' not supported between instances of 'list' and 'float'

Variable w is a list of floats ...
w = [2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0]

The exception is due to ...
(w >= 0.0).all()

@mrJean1 thanks for reporting the issue.
It looks like the problem was introduced in https://github.com/scipy/scipy/pull/11736, where additional input validation was added.  The code in LSQSphereBivariateSpline.__init__() needs to wrap the inputs with np.asarray (e.g. theta = np.asarray(theta)) before an expression such as (0.0 <= theta).all() is evaluated.

It is a regression test in PyGeodesy package upgraded to SciPy 1.9.

I'm sorry it looks like that my PR #11736 has problems. I will try to fix it.


ARROW-6488: [Python] fix equality with pyarrow.NULL to return NULL

https://issues.apache.org/jira/browse/ARROW-6488
There are others things we would need to implement to have a full, proper behaviour (other comparison, logical, .. operators), but since the other scalars also just implement equality for now, it seems to make sense to at least fix equality for pa.NULL as well.

Codecov Report

Merging #5330 into master will decrease coverage by 23.62%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           master    #5330       +/-   ##
===========================================
- Coverage   88.72%   65.09%   -23.63%
===========================================
  Files         945      497      -448
  Lines      124147    68483    -55664
  Branches     1437        0     -1437
===========================================
- Hits       110146    44580    -65566
- Misses      13639    23903    +10264
+ Partials      362        0      -362

Impacted Files
Coverage Δ

python/pyarrow/scalar.pxi
63.03% <100%> (+0.12%)
:arrow_up:

python/pyarrow/tests/test_scalars.py
100% <100%> (ø)
:arrow_up:

cpp/src/arrow/util/memory.h
0% <0%> (-100%)
:arrow_down:

cpp/src/gandiva/date_utils.h
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/util/memory.cc
0% <0%> (-100%)
:arrow_down:

cpp/src/gandiva/decimal_type_util.h
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/filesystem/util_internal.cc
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/compute/logical_type.h
0% <0%> (-100%)
:arrow_down:

cpp/src/parquet/hasher.h
0% <0%> (-100%)
:arrow_down:

cpp/src/gandiva/basic_decimal_scalar.h
0% <0%> (-100%)
:arrow_down:

... and 696 more

Continue to review full report at Codecov.

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

I don't have a super strong opinion about this. Since this value is Python "sentinel" so to speak the recommended way to check for it will be v is pa.NULL. Having this return null doesn't seem like a major loss of functionality


Threshold to predict new data

HI bradley
I am beginner
I am trying to predict whether it is duplicate or not for new data
came up with this
model.load_weights(MODEL_WEIGHTS_FILE)
temp= model.predict([Q1_test, Q2_test])
print(temp[200][0])
O/P 0.048881
like this
i am not getting boolean value(1,0)
can i consider the ones with 90%(threshold) similarity as duplicates other wise not duplicates.
what is the best threshold value to obtain best accuracy

how did you compiled the model? I'm begineer to :D

Compiled the model in my local windows machine
python quora_question_pairs.py (didnt used jupyter)
each epoch takes 360 seconds aprox, cpu tensrflow
takes 2.5 hrs for training
output pic

#1 customised your code for prediction
predict.py
print("Processing", QUESTION_PAIRS_FILE)
question1 = []
question2 = []
with open(KERAS_DATASETS_DIR + QUESTION_PAIRS_FILE, encoding='utf-8') as csvfile:
reader = csv.DictReader(csvfile, delimiter=',')
for row in reader:
question1.append(row['question1'])
question2.append(row['question2'])
print('Question pairs: %d' % len(question1))
questions = question1 + question2
tokenizer = Tokenizer(num_words=MAX_NB_WORDS)
tokenizer.fit_on_texts(questions)
question1_word_sequences = tokenizer.texts_to_sequences(question1)
question2_word_sequences = tokenizer.texts_to_sequences(question2)
word_index = tokenizer.word_index
print("Words in index: %d" % len(word_index))
q1_data = pad_sequences(question1_word_sequences, maxlen=MAX_SEQUENCE_LENGTH)
q2_data = pad_sequences(question2_word_sequences, maxlen=MAX_SEQUENCE_LENGTH)
print('Shape of question1 data tensor:', q1_data.shape)
print('Shape of question2 data tensor:', q2_data.shape)
question1 = Input(shape=(MAX_SEQUENCE_LENGTH,))
question2 = Input(shape=(MAX_SEQUENCE_LENGTH,))
q1 = Embedding(nb_words + 1,
EMBEDDING_DIM,
weights=[word_embedding_matrix],
input_length=MAX_SEQUENCE_LENGTH,
trainable=False)(question1)
q1 = TimeDistributed(Dense(EMBEDDING_DIM, activation='relu'))(q1)
q1 = Lambda(lambda x: K.max(x, axis=1), output_shape=(EMBEDDING_DIM, ))(q1)
q2 = Embedding(nb_words + 1,
EMBEDDING_DIM,
weights=[word_embedding_matrix],
input_length=MAX_SEQUENCE_LENGTH,
trainable=False)(question2)
q2 = TimeDistributed(Dense(EMBEDDING_DIM, activation='relu'))(q2)
q2 = Lambda(lambda x: K.max(x, axis=1), output_shape=(EMBEDDING_DIM, ))(q2)
merged = concatenate([q1,q2])
merged = Dense(200, activation='relu')(merged)
merged = Dropout(DROPOUT)(merged)
merged = BatchNormalization()(merged)
merged = Dense(200, activation='relu')(merged)
merged = Dropout(DROPOUT)(merged)
merged = BatchNormalization()(merged)
merged = Dense(200, activation='relu')(merged)
merged = Dropout(DROPOUT)(merged)
merged = BatchNormalization()(merged)
merged = Dense(200, activation='relu')(merged)
merged = Dropout(DROPOUT)(merged)
merged = BatchNormalization()(merged)
is_duplicate = Dense(1, activation='sigmoid')(merged)
model = Model(inputs=[question1,question2], outputs=is_duplicate)
model.load_weights(MODEL_WEIGHTS_FILE)
temp= model.predict([q1_data, q2_data])
df = pd.DataFrame(temp)
df.to_csv("output.csv")
#2 OUTPUT.CSV file
.csv file pic

But I need boolean values here
so i came up with this
temp= model.predict([q1_data, q2_data])
for i in range(0,T1):          # T1 is len(question1)
if(temp[i]>=0.4093):    #0.4093 is taken as threshold, i know its not a proper one
temp[i]=1
else:
temp[i]=0
df = pd.DataFrame(temp)
df.to_csv("output.csv")

can you plzz help me in choosing the threshold :)
is the threshold deals with loss function?

how you fixed that?


Table field values are not case sensitive

Search before asking

[X] I had searched in the issues and found no similar issues.

Description
Table field values are not case sensitive, how to do it
For example, the organization code (org_code). Field values: A001 with records,a001 with records, A002 with records.
When searching for org code by a, data will be missed
I'm trying to search by the letter a, and the results are data that starts with an uppercase A and a lowercase a
Use case
For example, the organization code (org_code). Field values: A001 with records, a001 with records, A002 with records.
When searching for org code by a, data will be missed
I'm trying to search by the letter a, and the results are data that starts with an uppercase A and a lowercase a
Related issues
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

just use regex like these:
mysql> select 'abc' regexp 'ABC';
+----------------------+
| ('abc' regexp 'ABC') |
+----------------------+
|                    0 |
+----------------------+
1 row in set (0.10 sec)

mysql> select 'abc' regexp '(?i)ABC';
+--------------------------+
| ('abc' regexp '(?i)ABC') |
+--------------------------+
|                        1 |
+--------------------------+
1 row in set (0.10 sec)


Improve decorator on overload error message

This fixes #6064, by improving the error message in the case when a decorator is rejected for being on a method overload, not an implementation.
I'm happy this works, but I'm not super happy with the detection of whether it's a method overload (currently: it's a method declaration without a body, which can't be decorated). I'm not familiar with the structure of the TypeScript codebase yet though, and I can't find any existing methods that define exactly how to check whether a node is an overload declaration.
I've opened this PR regardless for now, to check I'm on the right track, and because it is working and mergeable if you're happy with the approach.
Any suggestions on tidying that check up, or if that's required at all? If there's nothing already existing for this then should I be refactoring this check out somewhere? (and if so where?)

implementation-wise looks ok, modulo one comment. Also can you add one more test to capture the correct case: method with overload and decorator is placed on implementation?
Pinging @DanielRosenwasser to see if he has any comments on phrasing of the error message?

The message's grammar looks fine to me but might still violate some error message guidelines that I haven't learned yet.

Considering I was the one who originally suggested this message, I'm biased :smile:
@pimterry let's add the inverse test in and we should be good to pull this in.

Actually, I'll just add the inverse test. Thanks for the PR!


Connected text input cursor position reset on input

I have an input field connected to a part of a redux store. When I type in the text field the cursor position is reset to the end of the text field. For example filling in "123", then attempting to insert "abc" at the beginning results in "a123bc". I've been unable to isolate the exact circumstances that cause this, but have a small reproduction at https://jsfiddle.net/1fm2cczq/. Occurs on 5.0.0-beta.3. Does not occur on 4.4.5.

Hmmm yeah good find. I can reproduce this in my own app. This seems related to facebook/react#955, and my first hunch is that changing the subscriptions from firing bottom-up to top-down reveals this behavior. Will need to investigate further.

As an experiment, I wrapped an <input> with this component to see what happens, and this does correct the behavior. So it seems to me that the issue is related to controlled inputs needing to be updated earlier or else React sorta goes off the rails with cursor position.
class Input extends React.Component {
  constructor(props, ...args) {
    super(props, ...args);
    this.state = { value: props.value };
  }

  componentWillReceiveProps(nextProps) {
    if (this.state.value !== nextProps.value) {
      this.setState({ value: nextProps.value });
    }
  }

  onChange(evt) {
    this.setState({ value: evt.target.value }, () => this.props.onChange(evt));
  }

  render() {
    return (<input {...this.props} {...this.state} onChange={this.onChange} />);
  }
}

I created a custom build of react-redux v5 that disables the top-down ordering so that subscriptions behave like v4. The cursor issue went away.  So I think I know what the problem is, but I don't yet have a great solution. So far, the first idea I have is to provide another option for connect that tells it to prioritize its store subscription before those of its parents. This option would have to be enabled for controlled inputs and textareas (I'm assuming) as a workaround for facebook/react#955 until that's fixed (if ever.)

Ew.  This... sounds nasty.

@markerikson Indeed it is.
As another experiment, I just tried switching React for Preact in my own project and the bug goes away.

Hmm.  Pinging @gaearon and @timdorr for thoughts...

Is there a build of react master available somewhere? I'd like to test this against that because I know there are other bugfixes related to controlled inputs in master that are supposedly gonna land in react v16.

I'm actually experiencing this with react-redux 4.4.5, is there something I might be missing, given you're seeing this issue with 5+ ? My setup is pretty much the same as @thefloweringash

@johnnycopperstone From what I gather from facebook/react#955, there are (at least) 2 scenarios in which this bug manifests itself, one being not updating the input's value prop soon enough (which is what I think is happening with react-redux v5) and one related to updating the prop with a value different than what's in the textbox, typically because of data altering (input masking or whitespace stripping, for example). Are you doing anything like that?

Hey @jimbolla Sorry didn't see your reply - I just removed my comment as I realised it was a different issue and didn't want to pollute this issue. I was still using 15.0.0 and the cursor fix was in 15.0.1

As another experiment, I just tried switching React for Preact in my own project and the bug goes away.

Well, Preact is pretty awesome, so I would suspect it's not going to see issues like this 😄  (Also, it doesn't have the huge event model that React does. Simpler code == less bugs)

@timdorr True, but our answer can't just be "use Preact instead" unfortunately. What I'm thinking...

IMO, the new top-down ordering is the "right" way to do it, and much of the perf gains and many of the bug fixes are because of it. We could remove it, but that undoes a lot of the benefits of v5.
This does seem like a bug in React that the new subscription ordering is exposing, but one that doesn't seem easy to fix, and even if it was, that fix wouldn't make it to release in a timely fashion, such that we can ignore it. I did pull and build react master, and the bug still exists.
I'm guessing this bug might manifest itself in react-redux v4 if redux were to fire subscriptions in reverse order because of how it relates to the timing of which components receive new props first. I might try test this just for awareness of the issue.
If we keep top-down as the default behavior, we need to make it as painless as possible to work around this issue, and make devs aware of it.

While it's certainly solvable in userland using the code provided above, I'd hate to force that on everyone, lest we be accused of creating javascript fatigue. 👅
The best solution I have right now is for connect (actually connectAdvanced) to offer an opt-in option that would allow that component to skip the subscription tree and subscribe directly to the store, making it work like v4. Devs that are using controlled text inputs would have to set this option to true. I don't know what to name this option. Libraries like redux-form would have to handle this as well. Docs would have to stress this as it's a bug that isn't discovered easily, because I doubt many devs test entering values in the middle of an input.

Oh no, I'm not suggesting everyone use Preact, just that it's awesome in its own right. That's ancillary to this issue.

Devs that are using controlled text inputs would have to set this option to true.

IMO this will be extremely confusing and hurt the ecosystem. There are enough gotchas already, we should fix this in the library rather than add options.

one being not updating the input's value prop soon enough (which is what I think is happening with react-redux v5)

I think that if you update it while event is being handled, React should understand it. If not, it's a bug and I'm happy to look into it, given a pure React (no RR) reproducing case.

I think I can produce a vanilla React repro.

Here's a repro of the issue using redux + react-redux. I'm going to inline those to distill it down to vanilla react.
import React, { Component } from 'react';
import { createStore } from 'redux';
import { Provider, connect } from 'react-redux';

const store = createStore((state = {}, action) => {
  return action.payload
    ? action.payload
    : state;
});

const Parent = connect(state => state)(props => props.children);

class BlockUpdates extends Component {
  shouldComponentUpdate() { return false; }
  render() { return this.props.children; }
}

const TextBox = connect(
  state => ({ value: state.value }),
  {
    onChange: evt => ({
      type: 'CHANGE',
      payload: { value: evt.target.value }
    })
  }
)(props => (<input type="text" id="demo" {...props} />));

const App = () =>(
  <Provider store={store}>
    <Parent>
      <BlockUpdates>
        <form>
          <TextBox />
        </form>
      </BlockUpdates>
    </Parent>
  </Provider>
);

export default App;

And here's the vanilla React version, that reduces (no pun intended) the issue down to its core:
import React, { Component } from 'react';

class BlockUpdates extends Component {
  shouldComponentUpdate() { return false; }
  render() { return this.props.children; }
}

class TextBox extends Component {
  render() {
    return (
      <input
        type="text"
        id="demo"
        onChange={evt => this.props.setState({ value: evt.target.value })}
        value={this.props.getState().value}
      />
    );
  }
}

class App extends Component {
  constructor(props, context) {
    super(props, context);
    this.state = { value: '' };
  }

  render() {
    return (
      <form>
        <BlockUpdates>
          <TextBox
            ref={c => this.textbox = c}
            getState={() => this.state}
            setState={newState => this.setState(newState, () => this.textbox.forceUpdate())}
          />
        </BlockUpdates>
      </form>
    );
  }
}

export default App;

@gaearon
repro with react only:
import React from 'react';

const format = value => {
  // any transform here
  return value.replace(/\d/g, 'a')
};

class HelloWorld extends React.Component {
  constructor(props) {
    super(props)
    this.state = {
      value: '0000000'
    }
  }

  render () {
    return <input value={this.state.value} onChange={e => this.setState({
        value: format(e.target.value)
      })} />
  }
}

export default HelloWorld;

@Guria If you change the value right after input, the cursor jump is expected. React can't guess where to put the cursor. So that is not a bug.

@jimbolla This does not look like a bug to me. It is documented that this.state contains the rendered value of the state. There is no guarantee that calling setState() will update this.state synchronously. Therefore, by reading from this.state you won't get the just-updated value.

@gaearon But It's happening as part of the callback of setState(), which should have the new state. But even still, if I store the state in a global variable and read from there instead of component state, it behaves the same way. This seems more related to when React reconciles the current value of the input's value prop with what's actually in the DOM element. Basically, by the time the callback to setState fires, it's too late. I can update the code to make this more clear.

Oh okay. setState() callback fires after the DOM has been updated. Think of it as componentDidUpdate(). So this also seems expected unless I'm missing something. Generally I don't recommend using setState() callbacks at all precisely because lifecycles do the same but better.

It would help my understanding if you showed a snippet with a global variable. The smaller example the better.

Ouch, forgot about that render caused by setState is not synced with event. So my example definetely invalid.

If you change the value right after input, the cursor jump is expected. React can't guess where to put the cursor. So that is not a bug.

Then is there a right way to make masked value with controlled input? Looks like an overkill to make class component here when it is just about transorming a value.

@gaearon I updated my above example to use global variable. You can toggle the makeTheCursorJump variable to see the 2 different behaviors. This is the core difference between react-redux master and next in its simplest form. A lot of the perf gains and the bugfix related to props/state being out of sync boiled down to this change.

It's a bit hard to tell what's going on but I can look deeper into it. My intuition is that you should almost never use setState callback, it's just a legacy API that happens to stick around. It has other weird edge cases too (e.g. it won't get called if you setState inside componentWillMount on the server).
Could you explain why setState callback is useful to you, and why you'd rather wait for it than update the value immediately. Is this callback the thing you rely on to make setStates come in the parent-to-child order?

Using the callback fixes #292, #368, and the many related issues by ensuring children components never recalculate props and rerender with stale props their parents.

Can you describe a high level overview of how you use this callback to solve this problem?

Using the callback prevents the child components from receiving notifications that the store has updated, which triggers their update process, until after their parents have guaranteed to be giving them updated props.
In cases where there isn't an intermediate component that is blocking updates by overriding shouldComponentUpdate, the child components first see the new state and new props simultaneously during their componentWillReceiveProps as a result of the parent's render call. In this case, the cursor bug doesn't show up because react reconciled everything in a single pass, and the store notification ends up being a NOOP for the child component.
In cases where there is a blocker component (like <BlockUpdates> above), the children won't receive new props, but they'll be informed of new state from their subscribe callback, during the parent component's setState callback.

Can we use ReactDOM.unstable_batchedUpdates instead?

I'm having trouble finding docs or source code for that. Is that in ReactDOM? Wouldn't that mean adding a dependency to react-dom to react-redux?

If I modify the above code like so:
ReactDOM.unstable_batchedUpdates(() => {
  this.setState({}, () => this.textbox.setState({}));
});

the cursor bug still exists. If I modify it like this:
ReactDOM.unstable_batchedUpdates(() => {
  this.setState({});
  this.textbox.setState({});
});

or like this:
ReactDOM.unstable_batchedUpdates(() => { this.setState({}); });
ReactDOM.unstable_batchedUpdates(() => { this.textbox.setState({}); });

the cursor bug goes away.
If I make the same change to Connect, the "should pass state consistently to mapState" test fails due to an increase in calls to mapState, but does not fail because of the wrong value being passed. Here's a diff of the relevant test to get it to pass:
diff --git a/test/components/connect.spec.js b/test/components/connect.spec.js
index 2b63bdb..60f818f 100644
--- a/test/components/connect.spec.js
+++ b/test/components/connect.spec.js
@@ -1717,16 +1723,16 @@ describe('React', () => {
       ReactDOM.unstable_batchedUpdates(() => {
         store.dispatch({ type: 'APPEND', body: 'c' })
       })
-      expect(childMapStateInvokes).toBe(2)
+      expect(childMapStateInvokes).toBe(3)

       // setState calls DOM handlers are batched
       const container = TestUtils.findRenderedComponentWithType(tree, Container)
       const node = container.getWrappedInstance().refs.button
       TestUtils.Simulate.click(node)
-      expect(childMapStateInvokes).toBe(3)
+      expect(childMapStateInvokes).toBe(5)

       store.dispatch({ type: 'APPEND', body: 'd' })
-      expect(childMapStateInvokes).toBe(4)
+      expect(childMapStateInvokes).toBe(6)
     })

     it('should not render the wrapped component when mapState does not produce change', () => {

when I do the update like this:
  ReactDOM.unstable_batchedUpdates(() => { this.setState(dummyState) })
  ReactDOM.unstable_batchedUpdates(() => { notifyNestedSubs() })

I was suspect of this, so I added logging like so:
      @connect((state, parentProps) => {
        console.log(JSON.stringify(state))
        console.log(JSON.stringify(parentProps))
        console.log()

        childMapStateInvokes++
        // The state from parent props should always be consistent with the current state
        expect(state).toEqual(parentProps.parentState)
        return {}
      })

and the output was this:
"a"
{"parentState":"a"}

"ac"
{"parentState":"a"}

"ac"
{"parentState":"ac"}

"acb"
{"parentState":"ac"}

"acb"
{"parentState":"acb"}

"acbd"
{"parentState":"acbd"}

Notice the 2nd and 4th outputs should have actually caused the test to fail. But the failed assertions are swallowed inside batchedUpdates.

Actually it looks like the exceptions are getting swallowed because Connect wraps the selector functions in a try/catch and then rethrows in its render, but since it that particular render doesn't happen because it immediately gets recomputed with good values.

My point with unstable_batchedUpdates() was that it's the API designed for what you're trying to do (batching updates).
setState callbacks were designed for a different purpose (same as lifecycle hooks). So they're not the right choice here, and any direction forward will likely involve using unstable_batchedUpdates().
It's unstable because in the future, React will batch updates by default. There are also some caveats. For example it depends on ReactDOM but we also need RN support. Relay solves it by having two different files (presumably RN chooses .native.js although I don't know for sure).

batchedUpdates doesn't solve the problem though. The problem is child component updates need to be deferred until parent updates have completed and propagated new props to the children.

batchedUpdates seems to solve the issue of batching render calls, which isn't the problem here. The problem is that the subscribe listener is being fired before it has received updated props from its parent, unless you put it in the setState callback. In order to take advantage of batchedUpdates, the mapStateToProps calculation would have to take place later, in one of the React lifecycle methods that's in the purview of batchedUpdates. But moving that would require each listener to fire setState on every state change, as it is in v4, which has been shown to cause significant performance hit, such as in #398.

If setState inside batchedUpdates is slow, can you help me figure out why? I wouldn't expect it to be slow in this case, since it doesn't actually do the synchronous work and instead delays actual reconciliation until batchedUpdates exits. If it is slow, maybe we can fix this in React?

I'd like to, but I have limited free time right now so I'm not sure when I can put time towards this.

So I saw there were some changes (facebook/react/pull/8204, facebook/react/pull/8207) in react master related to setState callbacks, so I decided to give this another test. The bug is fixed in react master branch right now.

Wow, that's cool 😮
Let's wait for React 16 with this change then?

@jimbolla Can you submit a PR to React with a test case for this?

 Bug exists when the above demo is run against its parent, but doesn't when run against it.
I'll see what I can do about turning that code above into a complete test, but admittedly, this will be pushing the limits of my JS/testing abilities. Assuming I can turn it into a test, do I submit it as a PR to react master?
I still need to test react-redux@next against react master to confirm the fix. I'm probably like 85% sure that it will work though.
@gaearon Do you have any insight into when React v16 might launch? Are we sure 8204 will be a part of that and not a 15.x minor release?
Is our plan to not release react-redux v5 to stable until we can bump our React dependency to whatever version includes the fix? If so, do we want to offer an interim solution for the users that want to use the beta? Something like:
connect(..., ..., ..., { temporaryReact15textInputCursorFix: true })

This would be a temporary feature that bypasses the subscription ordering.

I'll see what I can do about turning that code above into a complete test, but admittedly, this will be pushing the limits of my JS/testing abilities. Assuming I can turn it into a test, do I submit it as a PR to react master?

Yes.

Do you have any insight into when React v16 might launch?

Likely within a few months but hard to say for sure.

Are we sure 8204 will be a part of that and not a 15.x minor release?

It seems dangerous enough that it warrants a major release.

Is our plan to not release react-redux v5 to stable until we can bump our React dependency to whatever version includes the fix?

Yes, we can't release a stable version of React Redux that is incompatible with the stable version of React.

If so, do we want to offer an interim solution for the users that want to use the beta?

If you feel strongly about it, sure.

Yes, we can't release a stable version of React Redux that is incompatible with the stable version of React.

We'll do it within a set of 5.0 and 5.1 releases. 5.0 goes with React 15 and has this extra option for those that need it; 5.1 goes with React 16 and doesn't need the option (basically, it switches default to enabled). Hence the 5.1 milestone on this issue :)
@jimbolla Can you prep a PR to add the option to reorder the subscriptions? Maybe call it reorderSubscriptions? It doesn't need to be lengthy and scary. It would be ignored in 5.1.

If we did a two phase. with the second one bumping the React dependency version, that'd be a breaking change and would require bumping up to 6.
I verified that react master branch does fix the issue in react-redux@next. I'm having trouble turning the repro code above into an automated test; react doesn't seem to respond to the keypress events i'm firing from js.
I'll be submitting a PR shortly that adds react15CompatibilityMode option. There's the global setting set via <Provider react15CompatibilityMode={true|false}>, which defaults to true. Whatever setting is set at the Provider level can be overridden at the component level either as a prop passed to the component or as an options argument to connect. This way we can release 5.0 without waiting for React 16, and anyone that wants to opt-in to the changes now can do so with minimal effort.

The React dep is a peer dep and was added in in a patch (4.4.1). We can expand to support React 16 when it's out at any time and stay within our lane on semver. React 15 and below would be buggy for this particular use case, but they still work. And besides, it's not our bug to fix.
All we would be doing in a minor release is changing the default from true to false. Even then, I believe that would count as a patch release (it's nothing "breaks" as far as the API is concerned). The minor bump would be a convenience thing for users so they don't have to fight with the version string in their package.json too much.

@jimbolla If you're able to make a simple test case depending only on React that exhibits the issue in a browser but you're struggling with jsdom, that would be very helpful and I can look at turning it into an automated test.

@spicyj https://github.com/reactjs/react-redux/issues/525#issuecomment-256181787 is basically that.

Oops. I missed that. I'll take a look.

@jimbolla With the compat option on, does the perf regress over 4.x? What is the main benefit of 5.x for the people while it's enabled?

Hard to say without actually running another test battery. But I'd guess it's still is better perf in most cases because it still avoids setState/render calls unless final props have actually changed. Difference vs compat option off would be more more runs of mapStateToProps'n'friends and potentially extra renders if those extra runs produced different results between running with fresh props vs stale props.

I would like to see another perf test before 5.x is released with these changes so that we don't have a situation where React Redux is slow but everyone already uses it and are waiting for React to bump to 16.

Fixed via #540. Will be changed to default off when React 16 is released and we can push a 5.1 version.

Hi guys,
I've read this thread and the source of connectAdvanced.js and I have one question,
why not just move  notifyNestedSubs from this line this.setState(dummyState, notifyNestedSubs) into componentDidUpdate
So you will get something like
subscription.onStateChange = function onStateChange() {
...
  if (!this.selector.shouldComponentUpdate) {
    subscription.notifyNestedSubs()
  } else {
    this.callOnDidUpdate = true;
    this.setState(dummyState)
  }
}
....
  componentDidUpdate() {
    if (this.callOnDidUpdate) {
      notifyNestedSubs()
      this.callOnDidUpdate = false
    }
  }

I've created jsbin example based on vanila React example and it has no cursor bug.
What the real need to call nested subs notification in setState callback vs in componentDidUpdate ?

Hmmmm. I could swear this did not work when I was testing it. But here it is. Well, I'll have to give this another go. Assuming this doesn't have significant perf impact or any other problems, this would eliminate the need for that stop-gap setting.

@spicyj I was just wondering if you were able to make an automated test from this. If so, I'd like to see it for my own education.

Hello, before posting a separate issue, can anyone here confirm that the behavior demonstrated in the following demo site is related to this issue...
To replicate the behavior, insert cursor after 42.00 in the input field. Hit the delete key twice and notice how the cursor jumps to the beginning of the input field.
demo site: https://earlsioson.github.io/react-redux-input
source: https://github.com/earlsioson/react-redux-input

I just stumbled upon this problem and am quite confused after having read most of these comments here. Has this problem been fixed in the core somehow, and if yes, in which version? Or do I still need a kind of hack to prevent the cursor from jumping to the end of the input field?

@derwaldgeist : It should be fixed with the current "latest" versions of React and React-Redux.
Are you seeing this behavior?  If so, what versions are you using now?

Thanks for the info. Will check if I am on the latest versions of React and Redux, then.

This worked for me when using<EMAIL_ADDRESS>but broke when i upgraded to<EMAIL_ADDRESS>where the initial fix was removed, and replaced by some componentWillUpdate fix. After upgrading to 5.0.0-rc.2  or anything higher, e.g. 5.0.5, i get the same behavior as before with the jumping cursor.
I'm not sure if this has anything to do with other libraries that interfere somehow. I'm using redux-form to update my field values, so maybe it has to do with that.
I'm having a hard time seeing how that would change anything, but it might. I will try to isolate the problem.

@linde12 Can you provide a repro? I'm also using redux-form and it works fine.

@jimbolla I've narrowed down the problem and slimmed down the code and it seems to be in combination with the UX library Grommet, it doesn't happen with "vanilla" <input> elements or other components that wrap inputs.
I'm doing something like this:
import {TextInput} from 'grommet';
const renderText = ({input}) => {
  // Try commenting out this block and un-commenting the other block
  return (
    <TextInput onDOMChange={e => input.onChange(e)} value={input.value} />
  );
  //return (
    //<input onChange={e => input.onChange(e)} value={input.value} />
  //);
}

const TestForm = ({handleSubmit}) =>
  <div>
    <form onSubmit={handleSubmit}>
      <Field
        name='Name'
        component={renderText}
      />
      <button type="submit">Ok</button>
    </form>
  </div>;

export default reduxForm({
  form: 'TestForm'
})(TestForm);

I'm using it with a empty reducer(apart from the form reducer provided from redux-form) and just a <Provider store={store}></Provider> wrawpped around the TestForm. I will try to dig deeper to see what's causing the problem, it might not have anything to do with react-redux. I will report back if i ever find out!

@jimbolla I think i've found the culprit. In Grommet's onChange proxy they do a this.setState({...}) to update various things, which seems to trigger a re-render with the "old" input value because the new value wasn't quick enough to arrive from props. So when the new prop arrives there is a difference between the actual value in the <input> and the "new" value coming from props.
However, the fix in 5.0.0-rc.1 seemed to fix this. Any idea what to do next?

@jimbolla (and anyone else interested)
I made a fiddle demonstrating the problem. You can try typing anything(e.g. "aaaa") and put your cursor in the middle("aa|aa") and type something else(e.g. "z") which results in "aazaa|".
Steps to reproduce:

Type "aaaa"
Click in the middle of the text, like so "aa|aa"
Type "z"
See that with<EMAIL_ADDRESS>the cursor placement now is at the end("aazaa|")
See that with<EMAIL_ADDRESS>the cursor placement stays in place("aaz|aa")

So the fix that was reverted in<EMAIL_ADDRESS>(and replaced by another fix) worked.
Here are the two fiddles:
<EMAIL_ADDRESS>(bug shows) - https://jsfiddle.net/hqoohq4b/
<EMAIL_ADDRESS>(works) - https://jsfiddle.net/hqoohq4b/1/

I am not using Grommet and have the same problem with a plain vanilla

@derwaldgeist Are you manipulating state(with setState) in someway? Or are you formatting your input(because that would probably require you to keep track of the cursor yourself somehow)?
Is there any reason why the fix in<EMAIL_ADDRESS>was replaced? Is it something we can take in today? If yes, i'd be happy to help as we are currently considering what options we have to fix this.

@linde12 Nope, I am just using Redux to update the store based on user input (i.e. in an onChange handler). I am currently using<EMAIL_ADDRESS>

@derwaldgeist I don't think it should either, do you have some code where you can reproduce the problem? Maybe i can verify if it's similar to the problem i am experiencing.


Utility for generating temporary, unique node names

We have a lot of cases (coming up) in which we generate unique/temporary nodes in decorator/DAG construction.
E.G.

generating a node in the new parameterized and extract_columns combo decorator
generating static/pass-through nodes for the new reuse_functions decorator

And a few more that we already do but I honestly can't remember right now... Currently these have the potential of clashing with each other, but I think we can do this in a much cleaner way. Properties we want:
(1) unique
(2) readable
(3) stable between runs
(4) stable between DAG changes
TBD on implementation -- but I think a  stable(ish) hash with a prefix and a low-digit number for collisions. If we toss readability a hash/uuid is fine.

We are moving repositories! Please see the new version of this issue at https://github.com/DAGWorks-Inc/hamilton/issues/52. Also, please give us a star/update any of your internal links.
Note that everything else (slack community, pypi packages, etc...) will not change at all.


[Feature] Chinese projects analysis should be added into the report.

As in GitHub report 2019 we also need to add Chinese projects analysis. In GitHub report 2019 we use a text file to indicate all main Chinese projects on GitHub to generate the report, we may use the same way to collect all Chinese projects.
But we may need to use repo_id rather than repo_name instead in case name change during 2020, and organization should be supported too.

/self-assign


[BUG] - When switch go or back to date by an external fuction ngx-mat-datetime-picker doesn't update

Describe the bug
I implemented this ngx-mat-datetime-picker:

It run regularly but when i change the date time by external function:  "switchDate(on: boolean)"
The time view change regularly:

but not change the hours and minutes:

Could you help me?
This is my TS:

Desktop (if execution):

OS: Windows
Browser chrome

** Versions

ngx-mat-timepicker version 5.x+
@angular/core version 11.1.2
@angular/material version 11.2.0
typescript version 4.1.3

Mate, this is not my library!


Unexpected Quorum issue with majority configuration

OrientDB Version, operating system, or hardware.

v2.2.12

Operating System

[x ] Linux

Expected behavior and actual behavior
I'm running in distributed mode e nodes. I use provisioning to (ansible) to update nodes.
After an upgrade to all nodes of an hook library and restard I started to experience the following exception.
com.orientechnologies.orient.server.distributed.ODistributedException: Quorum (5) cannot be reached because it is major than available nodes (3)
I tryed to stop all instances start one after the other with no success.
With two nodes I got 4 istead of 5 but still the same issue.
com.orientechnologies.orient.server.distributed.ODistributedException: Quorum (4) cannot be reached because it is major than available nodes (3)
I also made the following test:

stop all instances
removed the db folder from databases folder from two of them
restart the node where I keep the database and restarted that instance first
restarted the other instances

This did not solved the problem.
After that I successfully made the db working again with the following procedure:

stop all instances
removed the db folder from databases folder from two of them
REMOVED *.json files from db folder of the instance where I keep the database
restart the node where I keep the database and restarted that instance first
restarted the other instances

The other instances recreate the db successfully and the quorum problem disappear.
Unfortunately I experienced another issue as I described here
https://github.com/orientechnologies/orientdb/issues/6817#issuecomment-257257981
These are my instaces configurations:
$ cat orientdb-community-2.2.12/config/default-distributed-db-config.json
{
  "autoDeploy": true,
  "readQuorum": 1,
  "writeQuorum": "majority",
  "executionMode": "undefined",
  "readYourWrites": true,
  "servers": {
    "*": "master"
  },
  "clusters": {
    "internal": {
    },
    "*": {
      "servers": ["<NEW_NODE>"]
    }
  }
}

cat orientdb-community-2.2.12/config/hazelcast.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- ~ Copyright (c) 2008-2012, Hazel Bilisim Ltd. All Rights Reserved. ~
	~ Licensed under the Apache License, Version 2.0 (the "License"); ~ you may
	not use this file except in compliance with the License. ~ You may obtain
	a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~
	~ Unless required by applicable law or agreed to in writing, software ~ distributed
	under the License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES
	OR CONDITIONS OF ANY KIND, either express or implied. ~ See the License for
	the specific language governing permissions and ~ limitations under the License. -->

<hazelcast
	xsi:schemaLocation="http://www.hazelcast.com/schema/config hazelcast-config-3.3.xsd"
	xmlns="http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<group>
		<name>USERNAME</name>
		<password>PASSWORD</password>
	</group>
	<network>
		<port auto-increment="true">2434</port>
		<join>
			<multicast enabled="true">
				<multicast-group>MY GROUP</multicast-group>
				<multicast-port>2434</multicast-port>
			</multicast>
		</join>
                <symmetric-encryption enabled="true">
            <algorithm>Blowfish</algorithm>
            <salt>MY_SALT</salt>
            <password>THE_PASSWORD</password>
            <iteration-count>19</iteration-count>
        </symmetric-encryption>
        	</network>
	<executor-service>
		<pool-size>16</pool-size>
	</executor-service>
</hazelcast>

If you need it I can provide you the folder of the db of all the 3 instances I saved before trying to perform the two tests described above.

If you want an elastic configuration of servers, please set distributed.autoRemoveOfflineServers=0 in all the servers. In this way when a server  is down, its name is removed from the configuration.

I'm going to fi it. Thank you very much.


Display (or not) umami version in public dashboard

Hello,
I've been using umami (v1.40.0) for a few months on my personal blog (a little bit of traffic, but it's still nice to follow the use of my blog). I would like to share a dashboard (which works very well) in public mode, but I observed that the version number of umami used was displayed at the bottom of the dashboard.
This may be a detail for some, but I think that this information could be not displayed.
For example, the Gitea application has a SHOW_FOOTER_VERSION variable that allows to hide the version of the application, which could be used by malicious people (https://docs.gitea.io/en-us/config-cheat-sheet/#other-other). Just like you can hide the version of the httpd web server for another example.
I think this could be a good feature to enable/disable as an environment variable.
What do you think about it?
I am not an expert in NodeJs (some knowledge), but if I have time, I can try to see what I can do and propose a PR.

We will probably keep displaying version without a environment var, but it should be easy enough to implement on your instance of Umami. If you feel its a security issue, you can remove the CURRENT_VERSION from footer.js

Ok thanks, no worries, I'll see what I can do with my own docker image then :/


fuzz: fix unitialized ptr to downstreamSslConnectionInfo in TestStreamInfo and add mock

Initializes downstreamSslConnectionInfo pointer in TestStreamInfo and adds a mock object for it in fuzzers.
Fixes crash in:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15066
Risk Level: Low
Testing: Add a corpus entry with downstream info.
Signed-off-by: Asra Ali<EMAIL_ADDRESS>

/review htuch


remove T0 assumption in T23

Closes #90

Approving this.  But a general question: do we really have to write "{P000001}" instead of "{P1}"?

Approving this. But a general question: do we really have to write "{P000001}" instead of "{P1}"?

No we don't, edited.

That is necessary in filenames, hence the habit. (Actually I'm not 100% sure James's compiler enforces it, but as a style I like having the leading zeros in filenames.)


Add Blog Post on Test Framework

This PR is to add blog post on the test framework

Refactor the blog posts folder structure.
Add authors to the release blog post .

Tested the changes for the folder structure in local

Yes Alolita, I have tested this change, shall make this PR ready for review after committing all changes

This seems like a lot more than just a single blog post for the test framework. The title should be changed or the PR should be split.

This seems like a lot more than just a single blog post for the test framework. The title should be changed or the PR should be split.

yes, that's right, will have to rename the title.


1.5.0 release of Windows x64 cuBLAS runtime does not work

Hello, I upgraded my whisper.net packages from 1.4.7 to 1.5.0. I found that the CPU runtime is working, but the cuBLAS runtime does not produce results.
Are there other migration operations that I am missing? Thank you.

Hello @KanaHayama ,
Can you, please confirm if you have installed Cuda 12.1?
Whisper.net 1.4.7 was built using Cuda 11, but starting with 1.5.0, the build was done using github actions and cuda 12.1 was used:
https://github.com/sandrohanea/whisper.net/blob/main/.github/workflows/windows-native-build.yml#L70

I checked my CUDA_PATH, and it is pointing to CUDA 12.2.
My setting works with 1.4.7, but does not work with 1.5.0.

Besides that, my PATH contains CUDA 12.2, 11.6 and 11.8. I did not notice that I have multiple CUDA listed in PATH, but I think this should be fine because 12.2 is in front of all others.

使用CUDA\v12.3可以吗？ 目前它使用的还是cpu

I installed and tested CUDA 12.3. The problem is the same. @shuaidaipeng

I installed and tested CUDA 12.3. The problem is the same. @shuaidaipeng
我安装并测试了CUDA 12.3。问题是一样的。@帅呆蓬

我研究了一下下它这个是根据自己的cuda版本编译出来的工具，所以对应其他版本的cuda需要自己去cmake 去编译

Same here, Whisper.net uses my CPU instead the GPU. I've installed CUDA 12.4 and the following packages I use in my project:
Whisper.net Version="1.5.0"
Whisper.net.Runtime Version="1.5.0"
Whisper.net.Runtime.Cublas Version="1.5.0"

Whisper.net.Runtime.Cublas下面的是编译以后的cuda版本whisper.dll，将他替换exe的runtime下的win-x64版本dll，启动cuda版本的Whisper.net.

Anyone been able to fix this?

I figured this out: Make sure you don't also have the Whisper.net.Runtime package. You must only have the  Whisper.net.Runtime.Cublas package, AND you must clean/rebuild your solution to force the correct dll into the built project.

Hello all,
Starting with 1.7.0 you can now define multiple Runtimes in the same project and the "best" one will be automatically picked. Indeed, previous to this version, you couldn't have both Cuda and CPU runtime on the same project.


CVE-2023-45288 remove auto generated fixed event, cause is still unde…

…r investgation however checks have been put in place to prevent this in the future

force merging due ci break as we expect that


Combination of Style Changes

This branch combines changes from two separate branches

Contains changes to overall styling of the application
Changes the flow and animation of the add funds page

Few things here:

Parking Availability Map / List View is obscured

Expand All / Collapse All does not work

Bad spacing on profile screen

Need to update the buttons on the ID page. Need better spacing. "replace id" button doesn't bring the user to a different page


admin command to rebuild bountyboardchannel messages

get flat list of the last, say, 10 (or max division bounties + 1) messages in the channel
take a copy of bountyboard messages/ids on record
send new persistent shop message (if persistent shop messages are enabled)
send new bountyboard channel messages
iterate over record of existing messages, deleting them if they exist
iterate over flat message history
if a message is from the bot and content contains "A new bounty is now available from", delete the message if it exists

⚠to avoid incorrect pings, first post new listings without notify mentions, then edit notify mentions into messages⚠


fix reset: clear state of resolution, heater and error

Thanks for the PR, will look into it later this week.

Looks like a bug indeed.

@jnsbyr
Thanks for the PR

Merged into master
created release 0.4.1
published on PlatformIO
synced with my local branch

Can you merge latest version into your other PR?
Thanks again!

Can you merge latest version into your other PR?

Will do. 👍


Lilu.kext + High Sierra plus enabled QuickSync --> iTunes crashes

Dear vit9696,
may I kindly point you to this thread regarding lilu, high sierra and itunes crashes on tonymac?
https://www.tonymacx86.com/threads/itunes-12-7-constantly-crashing-random-messages.233135/
In short:
Hackintosh-Setups with connectorless IGPU + ded. GPU (Nvidia) configured to enable Intel QuickSync are experiencing iTunes crashes (VDADecoder?) when using Lilu.kext (1.17 and 1.20) under high sierra.
Current workaround:
Deleting Lilu.kext (both itunes and QuickSync work) or using boot arg shikigva=1 (iTunes working again, but no QuickSync).
I am just wondering if it is even related to lilu - if not, never mind ;)
cheers

Hi,
I did hear of the issue, but I am yet to upgrade to 10.13 and see it myself sooner or later. So far all the tests showed that iTunes continues to crash even without Lilu, and it is a bit surprising your report is different.
Now to think of it, it may be related to https://github.com/vit9696/Shiki/issues/9, which means the driving force is might be Shiki. While it is very unlikely, there always is a slight possibility my code is involved directly or indirectly, if you or anybody else have some free time, could you please perform a clean installation without Shiki. I.e. Shiki.kext should never be loaded on the OS, and see if you get any iTunes crashes.
In addition to that I ask you to use the latest Lilu compiled from source. If iTunes is nominal, then I ask you to install Shiki.kext and see if anything changes.
Thanks

Thank you for your quick response.
Clean Install = Full System Disk Wipe? Thought Lilu (&Shiki) don't perform permanent changes to system files?
However, will try that on the weekend.
I did not yet compile a fresh lilu from source. That is something I will try tonight and report back.

Neither Lilu, nor Shiki should perform any permanent changes to system files. Yet after I received the report I mentioned above I accept the unlikely possibility that 10.13 could have changed something internally, and there could a compatibility issue in this area.

Hi,
I've done this tests:
SystemDef: iMac15,1 -  CPU i7 4790K - GPU: nVidia GTX 750ti.
[Scenario 1]
Kexts:

No Shiki, Lilu, AppleALC, CodecCommander and NvidiaGraphicsFixup.
AppleHDA patched using Toleda's script.
Blackscreen patched manually modifying the info.plist of AppleGraphicsPolicy.kext.

Results:

Hardware EncSupport: No
iTunes works fine. AirPlay works fine.
DRM videos, doesn't work.
Previously downloaded movies on iTunes causes system freezes (need to shutdown the PC).

[Scenario 2]
Kexts:

Lilu 1.1.7 installed.
AppleALC 1.1.4 installed.
NvidiaGraphicsFixup 1.1.3 installed.
No Shiki

Results:

Hardware EncSupport: No
iTunes works fine. AirPlay works fine.
DRM videos, doesn't work.
Previously downloaded movies on iTunes causes system freezes (need to shutdown the PC).

[Scenario 3]
Kexts:

Lilu 1.1.7 installed.
AppleALC 1.1.4 installed.
NvidiaGraphicsFixup 1.1.3 installed.
Shiki 2.0.5 installed.

Results:

Hardware EncSupport: yes
iTunes crashes. AirPlay works fine.
DRM videos works ok.
Previously downloaded movies on iTunes works ok.

[Scenario 4]
Kexts:

Lilu 1.1.7 installed.
AppleALC 1.1.4 installed.
NvidiaGraphicsFixup 1.1.3 installed.
Shiki 2.0.5 installed.
Bootarg: shikigva=1

Results:

Hardware Acceleration: no
iTunes crashes. AirPlay works fine.
DRM videos works ok.
Previously downloaded movies on iTunes works ok.

Same results with the compiled versions of Lilu, AppleALC and NvidiaGraphicsFixup from the latest sources.
If I use the latest code for Shiki, even using the bootarg shikigva=1 or shikigva=4, I've iTunes crashes (see the attachment), even I have the Hardware EncSupport enabled, I assume that is happen because the latest commit on the code have "Added hardware video decoding fix for SKL/KBL & NVIDIA (shikigva=4)"
Hope this tests helps.
itunes_crash.txt

Hi,
Thank you for such a detailed output. Firstly, may I clarify what you mean under hardware encsupport? Does that mean hardware video encoding? Asking because hardware encoding works out of the box in most cases, what is more problematic is hardware decoding.
Unfortunately, after inspecting the log I am afraid I will be of no help. Judging from your crash log I am afraid the issue is about hardware acceleration causing incompatibilities/bugs existent in Apple's  and NVIDIA code. If it was due to Shiki/Lilu, there would have been codesign/amfid messages in the log, and here the crash is a selector call on an invalid object, a part I do not touch at all.
You can prove it rather easily. Take "Scenario 2" but change your mac model to iMac14,2. This will make hardware video decoding/encoding work without Shiki, and you will start getting iTunes crashes. If you still have any suspect on Lilu and friends afterwards, you could also remove NvidiaGraphicsFixup and replace it with a plist-only kext (commonly referred as iMac.kext).

For Hardware EncSupport I meaning about Quick Sync (Hardware Encoding, maybe I'm mixing names), see the attached screenshoot for more reference (taken from the macx video converter).

With a sysdef 14,1 and the kexts of the scenario 2, I have not the 'Hardware Encoding Supported' (see the second attachment. iTunes doesn't crash neither.

I'm trying to build a USB media to make a clean install and try again.
Any other thing that I can do to verify this cases, and help to confirm or discard the issue?
Thanks in advance!

You could test with VDADecoderChecker. It provides somewhat more descriptive output. Please let me know what you see in it.
I just realised that since you have Devil's Canyon CPU (i.e. not Haswell), you might not have an ability to run hardware decoding/encoding without applying the patches, ugh….
A good idea is to verify file integrity after testing with Lilu/Shiki enabled. I.e. take a clean OS, calculate file hashes via shasum:
shasum /System/Library/PrivateFrameworks/AppleGVA.framework/Versions/A/AppleGVA
shasum /System/Library/PrivateFrameworks/CoreFP.framework/Versions/A/CoreFP
shasum /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox

Save this somewhere. Then after running a test with Shiki/Lilu on, you boot with them both disabled or removed and recalculate again. The hashes should match.

In fact, I have just realised that "Scenario 2" is the one with old kexts. Try with 14,2 and new kexts (i.e. compiled from source). Without the latest changes in NvidiaGraphicsFixup you won't have IOVARendererID injected.

Welll, with the sysdef 14,2 and the latest kexts (with the r13 for NvidiaGraphicsFixup) have the same problem.
See the errors from iTunes (they are random).
As far I could check, the hashes match in all the cases (with or without the kexts loaded, different sysdef, etc.).
I'm repopulating the outputs from VDADecoderChecker.

Well... after a time doing tests this is the results of VDADecoderChecker:
Without iMac.kext (with any sysdef and with any kext combination):
VDADecoderCreate failed. err: -12473
An error was returned by the decoder layer. This may happen for example because of bitstream/data errors during a decode operation. This error may also be returned from VDADecoderCreate when hardware decoder resources are available on the system but currently in use by another process.
VDADecoderCreate failed. err: -12473
With iMac.kext:
2017-10-04 21:09:34.429911-0300 VDADecoderChecker[542:4919] GVA error: AGPMGetManagedPortForAccelerator returned 0x4 for VP4
GVA info: Successfully connected to the Intel plugin, offline Gen75
Hardware acceleration is fully supported
Program ended with exit code: 0
With iMac.kext and with bootarg shikigva=1 (obviously):
VDADecoderCreate failed. err: -12473
An error was returned by the decoder layer. This may happen for example because of bitstream/data errors during a decode operation. This error may also be returned from VDADecoderCreate when hardware decoder resources are available on the system but currently in use by another process.
VDADecoderCreate failed. err: -12473
iTunes: still crashing in the already mentioned cases.

@familygw okay, did I get you correctly that if you:

do not use Shiki
have iMac.kext
have iMac14,2 model
use Lilu only for kext patching (e.g. you only have AppleALC / NvidiaGraphicsFixup)

You get:

Hardware acceleration is fully supported in VDADecoderChecker
iTunes crashes

If this is correct, then I am afraid it concludes that iTunes crashes are unrelated to Lilu/Shiki.

Hello all,
you're feedback made me investigate the scenario further where quicksync is enabled and lilu/shiki are not loaded and itunes does not crash.
After more intensive testing, I have to apologize for leading you to a false assumption, i.e. lilu/shiki might be the culprit.
It is obviously not.
I found that with quicksync enabled and without lilu/shiki, itunes does not crash instantly, but it does crash after several times of opening and closing. Because it happended instantly when lilu/shiki where loaded, and NOT instantly wshen Lilu/shiki are not loaded, i was under the false assumption that it might be related to lilu/shiki. Bugger. Sorry for that and the time you invested!
So, we are back to square one unfortunately.
I do not understand why the same configuration which worked perfectly under sierra does suddenly not work under high sierra. Obviously Apple changed something under the hood which lets itunes crash on hackintoshes - but not on genuine macs (i have cloned my hackintosh macOS to my genuine macbook, same os, same itunes etc. --> no crashes).
As genuine macs dont suffer from this issue, I dont think we can expect a bug fix from apple.
I'd really love to know what exactly might be the culprit here. But realizing that Lilu/shiki is not the issue, this thread can be closed IMHO.
Thank you for your time!
cheers

Genuine macs with nvidia also have problems, just they may not have crashes but actually freezes, for example https://applelife.ru/threads/shiki-proigryvanie-zaschischjonnogo-kontenta-na-raznom-oborudovanii.1349123/page-35#post-682785. It is also worth checking MacPro5,1 since it has a software drm decoder, and on most other real macs we have a hardware drm decoder.
If Apple does not fix it with time I might debug this, but only when I upgrade to 10.13.

FYI, I was also seeing this, but repairing permissions as stated here fixed it, although not entirely sure why: https://support.apple.com/en-us/HT203538

I figured out a temporary fix for this issue. I can reproduce it 100% of the time.

killall -9 com.apple.iTunesLibraryService
sudo rm -rf /Users/Shared/SC\ Info
Start iTunes and it's 100% stable
Completely close and reopen iTunes and it's crashing again, until you run the steps 1-3 again


_participant.so undefined symbol err

how to build  _participant.so in dir ros/ros_comm/roscpp/lib?
because i use catkin_make_isolated to build apollo from source, after i run roscore, i get err:
_participant.so: undefined symbol: _ZN3ros11Participant8read_msgEv

how to solve  this problem


How to update the Software Architecture Document?

A large part of the documentation of the 121 platform is currently in the so-called Software Architecture Document. This is a Microsoft Word document that is exported/generated from the tool Sparx Enterprise Architect (EA). So the SAD is created/updated in EA.
As volunteers are starting to contribute to the 121 platform, they are also interested in contributing by updating the SAD.
How can we make that work?
Short term/easy fix: we give that volunteer one of our EA licenses, so they can use and edit in EA. We may need to migrate from an EA project file to storing the EA data into a database, which allows for more ad-hoc editing by multiple people. If we do not do this, we may run into "conflicts" when multiple people edit the EA project file at the same time. Since the EA project file is binary, it is not possible to resolve these conflicts like with source code.
Long term fix: we move away from EA and migrate documentation to "something else". The question is then: what would this alternative be? Using EA has some great features that we benefit from, so we need to have a good insight into the pros and cons of the new sitation, including the migration path. How are other open source initiatives doing this? Maybe move away from using UML altogether?

@diderikvw The GitHub Wiki tab is a viable candidate for this.

@gulfaraz Thank you for your suggestion. Can you elaborate on this?
I am already using this Wiki to give a brief intro into Enterprise Architect, but found out from experience (in my initial months on 121) that creating a similar way of documenting that I now do in EA takes me about 10 times longer in this Wiki. So an update I can get into EA in 1 hour, would take me well over a day in the Wiki, because of all the manual adding, editing and updating. Furthermore, it will result into more mistakes as I will need to check everything manually as well, while EA lets me edit something in context in 1 place and takes care of the rest.
Or do you suggest to create/structure documentation in a different way entirely? Maybe not using UML or any kind of visual at all, only text-based documentation? And/or significantly reducing the amount of documentation when migrating from EA to the Wiki? Or...?

Can you elaborate on this?

My suggestion is to move all the documentation to the Wiki format. GitHub Wiki allows us to create pages and sub-pages with sufficiently rich content (links, images, videos, all sorts of text formatting - italics, quotes, code, and even bold!). We could treat the wiki as a one-stop-shop to learn everything about the product. This includes manuals, licenses, how-to's, why-did-we's, links to our design files and deployments, everything but the secrets and env vars but also documentation to where these are and how to set them. Think more like we're writing a book on 121 for someone who is trying to understand what we tried to achieve.
Yes, this would make it all bulky and hard to navigate but we would have one place to find all that is needed without having to ask from individuals each time. With the right indexing and page organization skills, it should be possible to make it readable. An added bonus is that the documentation would also be under version control.

EA takes me about 10 times longer in this Wiki

I believe this will improve with time as you get more comfortable with the process. You could still create the complex content with EA and move it here when required.

it will result into more mistakes as I will need to check everything manually as well

Shouldn't someone else be doing the reviewing? The 4-eyes principle is a good practice to tackle this issue.

Or do you suggest to create/structure documentation in a different way entirely?

My suggestion is to,

move all our existing documentation the GitHub Wiki
format all our documentation to make the content readable
dedicate time during sprint reviews to review the documentation
treat the documentation as the source of truth for all things 121

Maybe not using UML or any kind of visual at all, only text-based documentation?

It is possible to add any kind of images to the Wiki.

And/or significantly reducing the amount of documentation when migrating from EA to the Wiki?

Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.

Or do you have a "good practice" example of a similar open-source initiative that we can learn from?

There is no one project which has the solution, everyone uses it in a way which helps address their unique issues. We can review their approaches and pick what meets our needs.
https://github.com/mozilla-mobile/fenix/wiki
https://github.com/pytorch/pytorch/wiki
https://github.com/Netflix/Hystrix/wiki

@gulfaraz Great elaboration! :dancers:
I will respond in detail later. For now, only adding this open source initiative that seems to have comprehensive documentation as well. And is a NodeJS project, plus is somewhat Red Cross-related: healthcare, Africa.

Hi @gulfaraz,
I am on board with your suggestion of moving all documentation to GitHub and hence out of Enterprise Architect!
The links to various approaches you gave are a good reference, as I believe is the Bhima.
Instead of ("blindly") "move all documentation to the Wiki", I suggest we first do a little bit of research into the existing practices from above links, coming up with a basic structure and topic/content of how we want our documentation to become, also keeping various audiences in mind.
And then "fill that in" with what we already have in EA and in our READMEs. This means also re-assessing our READMEs, to make a conscious decision what goes in the README(s), what in the Wiki and how they are connected/linked.
Anything missing, we add placeholders for later. Anything leftover, we throw away.
I would prefer to do this in a "hackathon" kind of way with the entire team, or least a small group of people willing to pick up this work. I do not want to do all this by myself.
And of course I am looking forward to the perspective of our volunteers. And if they see themselves up to take up or coordinate this work.

@diderikvw  A quick addition to this, as its "on my to-do-list" for quite some time already: https://github.com/HospitalRun
I think that product/project is similar in scope as our HO-portal; and it operates in a very similar context as we (want to).
I haven't looked at their specific type of documentation of "software architecture" yet though...

Hi @elwinschmitz , very interesting initiative HospitalRun. Looks like a HIMS similar to Bhima, for a similar context, maybe they are "competitors". HospitalRun looks a lot "bigger", in every sense. Just looking at their sheer number of repos and contributors amazes me.

Here a short 'brain dump' following our short conversation this morning @diderikvw ;
The City of Amsterdam has a nice 'presence' on GitHub: https://amsterdam.github.io/
It contains interesting 'guides' that we can maybe re-use or refer to. As I think their scope/mindset might be similar to that of 510, in a way.
For a totally different scope/scale: GitLab
As they are a "remote only"- and "transparent by default"-company; they might have interesting approaches we can use.
Things like: https://about.gitlab.com/direction/ (their 'roadmap'), but also other more 'applied' things, like documentation...
About diagrams: Mermaid, see: https://mermaid-js.github.io/mermaid/#/integrations
I think I was confused with the "native support" in GitLab instead of GitHub.. :(

@diderikvw this issue seems like it could be closed right?


Nested call from a tf.function decorated method behaves differently on Tensorarray depending if nested method is also decorated

Click to expand!
Issue Type
Bug
Source
source
Tensorflow Version
2.9.1
Custom Code
Yes
OS Platform and Distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
When I am calling test method,in this method tensor_array_with_tf_dec variable has type of Tensor and tensor_array variable has type of TensorArray,so this method gets assertion error,but I think they should have the same type.

Standalone code to reproduce the issue
import tensorflow as tf

@tf.function
def return_tensor_array_with_tf_dec():
    ta = tf.TensorArray(tf.float32, size=0, dynamic_size=True, clear_after_read=True)
    return ta

def return_tensor_array():
    ta = tf.TensorArray(tf.float32, size=0, dynamic_size=True, clear_after_read=True)
    return ta

@tf.function
def test():
    tensor_array_with_tf_dec = return_tensor_array_with_tf_dec()
    tensor_array = return_tensor_array()
    assert type(tensor_array_with_tf_dec) == type(tensor_array)

test()

Relevant log output
No response

@arishov1
I tried an alternative approach. I was able to run the code without any error on Colab using TF v2.10. Please find the gisthere for reference.
Thank you!

@tiruk007 Thank you for your suggestion, it works indeed.Nevertheless  I don't fully understand why my initial code doesn't work. Decorating a function call with tf.function and calling it from a tf.function-decorated method should result in the same tracing pattern, isn't it?

@arishov1
I try to use attribute to get variable from function. Could you please refer to this Better performance with tf.function & Introduction to graphs and tf.function and let us know if it helps.
Thank you!


Start minimized not working in Windows

It is recommended to create a shortcut with argument autostart to ensure that LocalSend knows that it was started automatically.
Example: D:\LocalSend\localsend_app.exe autostart
See #71 for more details.

It is recommended to create a shortcut with argument autostart to ensure that LocalSend knows that it was started automatically.
Example: D:\LocalSend\localsend_app.exe autostart
See #71 for more details.

I added autostart in the shortcut, but it still doesn't start on boot.

The MSIX version can start automatically, but it cannot start silently and cannot add the autostart startup parameter like exe. Can you fix this problem，thank you

The latest MacOS version also can't start silently, But as myself I didn't restart the system frequently so. It will be nice if you guys add this little extra. Thanks for the app btw, It really helps me alot!

The MSIX version can start automatically, but it cannot start silently and cannot add the autostart startup parameter like exe. Can you fix this problem，thank you

I found a way to use it, but the cmd window pops up once.
https://github.com/localsend/localsend/issues/71#issuecomment-1725628652

Fixed in #1467


UnicodeEncodeError

File "/Users/test/PokemonGo-Bot/pokemongo_bot/event_handlers/telegram_handler.py", line 156, in get_pokestop
"" + str(x[0] + ""),
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)

Likely caused by a pokestop with unusual characters in its name. Can you please provide more information, eg. log lines before this occurred etc.

Looks like telegramhandler is manipulating pokestop names but does not have the from __future__ import unicode_literals


Get OneDrive item with getM365

Add support for onedrive in getM365

Does this PR need a docs update or release note?

[ ] :white_check_mark: Yes, it's included
[ ] :clock1: Yes, but in a later PR
[x] :no_entry: No

Type of change

[x] :sunflower: Feature
[ ] :bug: Bugfix
[ ] :world_map: Documentation
[ ] :robot: Test
[ ] :computer: CI/Deployment
[ ] :broom: Tech Debt/Cleanup

Issue(s)

#

Test Plan

[x] :muscle: Manual
[ ] :zap: Unit test
[ ] :green_heart: E2E

@ryanfkeepers Thanks for cleaning up the code. Also, the reason for not using serializeObject initially was to avoid it printing json strings for values. I've fixed it by re-encoding it to json.RawMessage.