Time table is not up-to-date.

The Time Table is only available until December, but should be until February.

Yes, will be updated with the material for this week, latest tomorrow.

A preview already

Date
Type
Chapter
Topic
Lecturer

12.01.
Lecture
4
Documentation Tools
Benjamin

12.01.
Lecture
6
Licenses, Versioning, ...
Benjamin

19.01.
Lecture
5
Testing in Python
Ishaan

19.01.
Lab
5
Testing in Python
Ishaan

26.01.
Lecture
5
Automation, CI/CD
Benjamin

26.01.
Lab
5
Automation, CI/CD
Benjamin

02.02.
Lecture
5
Boost.Test
Benjamin

02.02.
Lab
5
Boost.Test
Benjamin

09.02.
Presentations
C
final student presentations
students

09.02.
Presentations
C
final student presentations
students


Fix Avalara caching.

I want to merge this change because of fixing Avalara caching.
Currently, some queries take 15s because of caching Avalara requests not working.
If we need to calculate the price for one checkout line we should sed to Avalara the whole checkout!!!

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Task linked: SALEOR-2681 Caching of Avalara request not working.


Add roles to roles.yaml

Fixes for
https://github.com/open-cluster-management/multicloudhub-operator/pull/545
https://github.com/open-cluster-management/multicloudhub-operator/pull/546

/hold

/unhold


Fix Transaction decoding

Motivation
Issues such as #1762 highlight that Transaction's Decodable implementation does not support both typed transaction encoding formats.
eth_sendRawTransaction and etherscan getRawTx links (example) output a format which includes the transaction byte as the first byte of the encoding.
On the p2p network, the above format is encoded again as a rlp string, since 0x02 || rlp... is not technically valid RLP.
This means there are two encoding formats for transactions, depending on the context.
To recap what signed transactions look like depending on the type and context:
Non-EIP2718 Legacy transactions
These will always start with a RLP list header in the range [0xc0, 0xfe]. This check is done by rlp.is_list() in the Decodable implementation.
EIP2718 Typed transactions

eth_sendRawTransaction format

The first byte will be the transaction type byte (e.g. 0x01 or 0x02 currently), and followed by the transaction payload.
Not valid RLP

p2p format

These will always start with a RLP string header in the range [0x80, 0xbf], followed by the transaction type byte, then the transaction payload.
Valid RLP

Geth implementation of encoding here, showing that the typed transaction is encoded with a string header.
Example of eth_sendRawTransaction using a different encoding format based on the UnmarshalBinary/MarshalBinary interface rather than the EncodeRLP/DecodeRLP interface.
Solution
Support both formats in Transaction decoding by checking if the first byte is less than the RLP string header byte (0x80), when we are decoding a typed transaction.
Add the test from #1762 to confirm that the new format is accepted.
Fixes #1762
PR Checklist

[x] Added Tests
[ ] Added Documentation
[ ] Updated the changelog

lint + examples issue unrelated


Cannot use uaa release without saml

Error 100: Error filling in template login.yml.erb' for bosh/0' (line 93: Can't find property `["login.saml.serviceProviderCertificate"]')

met the same issue (trying to colocate bosh with uaa). Is there any workaround ?

@poblin-orange UAA always starts up as a fully functional SAML Service Provider and these fields are required


Invalid username password combination

Describe the bug
Starting up 0.4.0-rc7 using docker-compose I am presented with the invalid username password combination error.  I have copy/pasted the credentials from env.list into my browser session to IBKR to verify that there are no typos; works fine there.  I have also tried to put the credentials directly into docker-compose.yml as per #60
2022-03-01 13:15:18,138|E| Error displayed by the login webpage: Invalid username password combination
2022-03-01 13:15:24,962|E| Error displayed by the login webpage: ERROR
2022-03-01 13:15:31,794|E| Error displayed by the login webpage: Invalid username password combination

# logs
2022-03-01 13:15:07,167|I| ############ Starting IBeam version 0.4.0-rc7 ############
2022-03-01 13:15:07,170|I| Gateway not found, starting new one...
2022-03-01 13:15:07,170|I| Note that the Gateway log below may display "Open https://localhost:5000 to login" - ignore this command.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by io.netty.util.internal.ReflectionUtil (file:/srv/clientportal.gw/build/lib/runtime/netty-common-4.1.15.Final.jar) to constructor java.nio.DirectByteBuffer(long,int)
WARNING: Please consider reporting this to the maintainers of io.netty.util.internal.ReflectionUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
2022-03-01 13:15:08,176|I| Gateway started with pid: 13
2022-03-01 13:15:09,064|I| No active sessions, logging in...
running
 runtime path : root:dist/ibgroup.web.core.iblink.router.clientportal.gw.jar:build/lib/runtime/*
 verticle     :
 -> mount demo on /demo
Java Version: 11.0.12
****************************************************
version: ed4af2592e9dd4a784d5403843bd18292fd441ea Fri, 9 Nov 2018 13:23:18 -0500
****************************************************
This is a Beta release of the Client Portal Gateway
for any issues, please contact<EMAIL_ADDRESS>and include a copy of your logs
****************************************************
https://www.interactivebrokers.com/api/doc.html
****************************************************
Open https://localhost:5000 to login
App demo is available after you login under: https://localhost:5000/demo/
2022-03-01 13:15:18,138|E| Error displayed by the login webpage: Invalid username password combination
2022-03-01 13:15:24,962|E| Error displayed by the login webpage: ERROR
2022-03-01 13:15:31,794|E| Error displayed by the login webpage: Invalid username password combination
2022-03-01 13:15:38,577|E| Error displayed by the login webpage: Invalid username password combination

# docker-compose.yml
services:
  redis:
    image: ibkr-redismod-custom:latest
    ports:
      - 6379:6379
    volumes:
      - ./data:/data
    #  - redis.conf:/usr/local/etc/redis/redis.conf
  ibeam:
    image: voyz/ibeam:0.4.0-rc7
    container_name: ibeam
    environment:
      IBEAM_ACCOUNT: x
      IBEAM_PASSWORD: x
      IBEAM_MAINTENANCE_INTERVAL: 3600
    # env_file:
    #   - env.list
    ports:
      - 8080:8080
    network_mode: bridge
    restart: 'no'

To Reproduce
Steps to reproduce the behavior:

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

Expected behavior
I believe that once the container starts, I should get a 2FA request to my phone to complete the authentication, but I do not get this request.
Environment
IBeam version: 0.4.0-rc7
Docker image or standalone: Docker (Desktop 4.4.2)
Python version (standalone users only):
OS: macOS 12.2.1
Additional context
I'm not sure if it's related, but I had to change the port from 5000 to something else (I chose 8080) due to macOS using 5000 for an internal service.  This change is reflected in the docker-compose.yml
Suggest a Fix
If you can't fix the bug yourself, perhaps you can point to what might be causing the problem (line of code or commit).

I resolved the user/password issue per: #34
I'm still thinking there's something not quite working properly due to my having to change the port numbers around.
% curl -X GET "https://localhost:8080/v1/api/portfolio/accounts" -k
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:8080
%

Still looking into this one.

Closing this and opening #66 to address possible issue running on different port.

Hey @jlixfeld thanks for describing your issue in detail. Unfortunately the Invalid username password combination is a common issue that seems to be caused by problems on IBKR side. I recommend you reach out to IBKR support in that regard.


Wilt nano mission broken

The mission does not update your objective after entering the portal for his lair. Also if you warp away while inside you will warp way up high and fall forever while stretching like a rubber band. Quite funny to see but very annoying and only way out is to relog.

Hi there,
All Fusion lairs in the past have not been populated properly. This means they don't have objective waypoints, mobs, or respawn points. There are some temporary NPCs that the admins throw in, but we still discourage entering the lairs.
For now, you can just use /warp 7 8 to return to Sector V. If you have more questions, please check the FAQ or Tech Support channels on the Discord.
Thanks!


docker-compose.yml version is out of date

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Question or discussion
[x] Bug
[ ] Requirement
[ ] Feature or performance improvement

Bug
The current and official version for next release is 5.0.0-alpha, and you still use 5.0-preview. Please fix it.

This issue has fixed in PR #800


Result of exercise changes on reload

Describe the bug
When clicking on a exercise that's already corrected, the points change when going back to the exercise list. On reload of the website the points change back to the real value.
To Reproduce

Go to exercise list
Click on an exercise
Go back to the exercise
Check points

Expected behavior
Points should be the same
Screenshots
before:

after:

Environment

 - OS: macOS
 - Browser: Chrome
 - Version: 74.0.3729.169

Additional context
Doesn't work with every exercise, but with the first one all the time

Thanks for reporting. This bug should be fixed in the new release 3.1.5 that will be deployed soon.

Just checked again and the bug is still there. And in the release notes it says that the current version is already 3.1.6, so maybe some changes made there broke the system again.

Could you provide some screenshots and more details when exactly this problem occurs?

Please keep in mind, that if you commit and push code, the results automatically changes after around 10-15s (basically when the result of the continuous integration server is available). However, if you do not participate in the exercise, the result should stay the same

I don't know how I could explain it better, so I recorded a short video.
Also this happens only on code exercises and also with very old ones too so nothing I am changing something constantly.

Thanks for reporting, we will look into it and fix it!
By the way: does this also happen in newer exercises?

@SiggZ @thilo-behnke I think you have recently worked on this. Can you watch the video and try to fix the issue?

Thank you for the report, I will look into it.

Will be fixed in https://github.com/ls1intum/ArTEMiS/pull/579.

Fixed in #580 and shipped with Release 3.2.0
@reschandreas Thanks again for reporting! Please review if it works correctly in the new release tomorrow morning and let us know if you experience any additional problems with the display of results.


Bad state: Future already completed

Steps to Reproduce
I'm calling:
                Navigator.popUntil(context, (r)=>false);

and getting this error:
Logs
I/flutter ( 4464): ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
I/flutter ( 4464): The following StateError was thrown while handling a gesture:
I/flutter ( 4464): Bad state: Future already completed
I/flutter ( 4464): When the exception was thrown, this was the stack:
I/flutter ( 4464): #1      Route.didComplete (package:flutter/src/widgets/navigator.dart:185:19)
I/flutter ( 4464): #2      Route.didPop (package:flutter/src/widgets/navigator.dart:173:5)
I/flutter ( 4464): #3      OverlayRoute.didPop (package:flutter/src/widgets/routes.dart:58:36)
I/flutter ( 4464): #4      TransitionRoute.didPop (package:flutter/src/widgets/routes.dart:209:18)
I/flutter ( 4464): #5      _ModalRoute&TransitionRoute&LocalHistoryRoute.didPop (package:flutter/src/widgets/routes.dart:369:18)
I/flutter ( 4464): #6      NavigatorState.pop (package:flutter/src/widgets/navigator.dart:1683:15)
I/flutter ( 4464): #7      NavigatorState.popUntil (package:flutter/src/widgets/navigator.dart:1722:7)
I/flutter ( 4464): #8      Navigator.popUntil (package:flutter/src/widgets/navigator.dart:1101:27)
I/flutter ( 4464): #9      PresentationWidgetState.header.<anonymous closure> (package:conference_app/presentation.dart:214:27)
I/flutter ( 4464): #10     _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:490:14)
I/flutter ( 4464): #11     _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:545:30)
I/flutter ( 4464): #12     GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
I/flutter ( 4464): #13     TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:161:9)
I/flutter ( 4464): #14     TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:123:7)
I/flutter ( 4464): #15     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
I/flutter ( 4464): #16     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:147:20)
I/flutter ( 4464): #17     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:121:22)
I/flutter ( 4464): #18     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:101:7)
I/flutter ( 4464): #19     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:64:7)
I/flutter ( 4464): #20     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:48:7)
I/flutter ( 4464): #21     _invoke1 (dart:ui/hooks.dart:134:13)
I/flutter ( 4464): #22     _dispatchPointerDataPacket (dart:ui/hooks.dart:91:5)
I/flutter ( 4464): (elided one frame from package dart:async)
I/flutter ( 4464): Handler: onTap
I/flutter ( 4464): Recognizer:
I/flutter ( 4464):   TapGestureRecognizer#b584e(debugOwner: GestureDetector, state: ready, won arena, finalPosition:
I/flutter ( 4464):   Offset(20.7, 49.4), sent tap down)
I/flutter ( 4464): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter ( 4464): Another exception was thrown: 'package:flutter/src/widgets/navigator.dart': Failed assertion: line 1846 pos 12: '!_debugLocked': is not true.

Flutter Doctor
[✓] Flutter (Channel dev, v0.2.10, on Mac OS X 10.13.4 17E199, locale pl-PL)
    • Flutter version 0.2.10 at ...
    • Framework revision d6d874474b (9 days ago), 2018-04-06 13:23:16 -0700
    • Engine revision d2b69fec75
    • Dart version 2.0.0-dev.46.0.flutter-09e1766e6c

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at ...
    • Android NDK at ...
    • Platform android-27, build-tools 27.0.3
    • Java binary at: ...
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at ...
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.4.0

[✓] Android Studio (version 3.0)
    • Android Studio at ...
    • Flutter plugin version 23.1.1
    • Dart plugin version 171.4424
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] Android Studio (version 3.1)
    • Android Studio at ...
    • Flutter plugin version 23.2.2
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] Connected devices (2 available)
    • Android SDK built for x86 • emulator-5554                        • android-x86 • Android 6.0 (API 23) (emulator)
    • iPhone X                  • 74D25CBC-32DB-40A9-A12D-A3F61936B347 • ios         • iOS 11.3 (simulator)

Same error with
Navigator.popUntil(context, ModalRoute.withName('/'));

@SoaresGabriel can you please add the output of flutter doctor -v?

@SoaresGabriel can you create a minimal reproduction?
Create a new project with flutter create and add the code to lib/main.dart that is required to reproduce the issue?

@zoechi yes, there it is:
https://gist.github.com/SoaresGabriel/75f3df8fa5c4d18b6d097a1b62b3cd1b
Go to page b, and click pop until, and the exception is thrown:
I/flutter (11670): ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
I/flutter (11670): The following StateError was thrown while handling a gesture:
I/flutter (11670): Bad state: Future already completed
I/flutter (11670):
I/flutter (11670): When the exception was thrown, this was the stack:
I/flutter (11670): #1      Route.didComplete (package:flutter/src/widgets/navigator.dart:184:19)
I/flutter (11670): #2      Route.didPop (package:flutter/src/widgets/navigator.dart:172:5)
I/flutter (11670): #3      OverlayRoute.didPop (package:flutter/src/widgets/routes.dart:58:36)
I/flutter (11670): #4      TransitionRoute.didPop (package:flutter/src/widgets/routes.dart:209:18)
I/flutter (11670): #5      _ModalRoute&TransitionRoute&LocalHistoryRoute.didPop (package:flutter/src/widgets/routes.dart:369:18)
I/flutter (11670): #6      NavigatorState.pop (package:flutter/src/widgets/navigator.dart:1682:15)
I/flutter (11670): #7      NavigatorState.popUntil (package:flutter/src/widgets/navigator.dart:1721:7)
I/flutter (11670): #8      Navigator.popUntil (package:flutter/src/widgets/navigator.dart:1100:27)
I/flutter (11670): #9      PageB.build.<anonymous closure> (file:///mnt/Data/Developer/IdeaProjects/flutter_navigation_test/lib/main.dart:50:23)
I/flutter (11670): #10     _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:494:14)
I/flutter (11670): #11     _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:549:30)
I/flutter (11670): #12     GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
I/flutter (11670): #13     TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:161:9)
I/flutter (11670): #14     TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:94:7)
I/flutter (11670): #15     PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:315:9)
I/flutter (11670): #16     PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:73:12)
I/flutter (11670): #17     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:101:11)
I/flutter (11670): #18     _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:143:19)
I/flutter (11670): #19     _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:121:22)
I/flutter (11670): #20     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:101:7)
I/flutter (11670): #21     _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:64:7)
I/flutter (11670): #22     _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:48:7)
I/flutter (11670): #23     _invoke1 (dart:ui/hooks.dart:134:13)
I/flutter (11670): #24     _dispatchPointerDataPacket (dart:ui/hooks.dart:91:5)
I/flutter (11670): (elided one frame from package dart:async)
I/flutter (11670):
I/flutter (11670): Handler: onTap
I/flutter (11670): Recognizer:
I/flutter (11670):   TapGestureRecognizer#86893(debugOwner: GestureDetector, state: possible, won arena, finalPosition:
I/flutter (11670):   Offset(203.5, 361.5), sent tap down)
I/flutter (11670): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter (11670): Another exception was thrown: 'package:flutter/src/widgets/navigator.dart': Failed assertion: line 1845 pos 12: '!_debugLocked': is not true.
I/flutter (11670): Another exception was thrown: 'package:flutter/src/widgets/navigator.dart': Failed assertion: line 1845 pos 12: '!_debugLocked': is not true.

I just found the error, i was creating the PageRoutes, but was not giving a name to it. I fix the above example by change the pages in MyApp:
static final pages = {
  '/': (settings) => MaterialPageRoute(builder: (context) => PageA(), settings: settings),
  PageB.routeName: (settings) => MaterialPageRoute(builder: (context) => PageB(), settings: settings),
};

And onGenerateRoute in the MaterialApp widget:
onGenerateRoute: (settings) {
  return pages[settings.name](settings);
},

I think the error message should be clearer.

Great! I guess we leave this open as a reminder to improve the error output.

I gave them a name this way:
var routes = <String, WidgetBuilder>{
      EventList.routeName: (BuildContext context) =>
          new EventList(title: "EventList")
};

and in the MaterialApp:
routes: routes
how should i fix the popUntil?

@luigifaticoso I think it should work that way with routes. A similar example worked here.
Maybe the problem is something else. @zoechi

I have different kind of situation on this error..!
I used sign in dialogue in my login page, but when signin process completes my home page opens and dialogue is keep running,
my
dialogue class is in different file,
My dialogue calling is as above,
    void _submit() async {     final form = formKey.currentState;     if (form.validate()) {       form.save();       Dialogs dialogs=Dialogs(context);       dialogs.setMessage(Strings.signInMessage);       dialogs.show();       String res = await loginModel.auth(_userId, _password);       dialogs.hide();               _gotoHome(res);     }   }
and my dialogue class is as above
`
class Dialogs {
BuildContext buildContext;
String message = Strings.loading;
Dialogs(this.buildContext);
void setMessage(String mess) {
this.message = mess;
}
void show() {
_showDialog();
}
void hide() {
Navigator.pop(buildContext);
}
_showDialog() {
showDialog(
context: buildContext,
barrierDismissible: false,
builder: (BuildContext context) {
// return object of type Dialog
return AlertDialog(
content: SizedBox(
height: 45.0,
child: Center(
child: Row(
children: [
SizedBox(width: 10.0),
CircularProgressIndicator(),
SizedBox(width: 20.0),
Text(
message,
style: TextStyle(color: Colors.white, fontSize: 20.0),
)
],
),
),
),
);
},
);
}
}
`

Hi,
I have same issue,
i am calling my loading dialogue,
but when i close it,
it keeps running,
my dialogue is in different class
my code is as follows,
`
Dialogs dialogs=Dialogs(context);
dialogs.setMessage(Strings.signInMessage);
dialogs.show();
String res = await loginModel.auth(_userId, _password);
dialogs.hide();
dialogue hide method is as follows
void hide() {
Navigator.pop(buildContext);
}
`
it shows this error
E/flutter ( 5356): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter ( 5356): Bad state: Future already completed

@ViniciusSossela dude u deserve a medal or something..
MaterialApp(
            title: 'Flutter Demo',
            debugShowCheckedModeBanner: false,
            theme: snapshot.hasData ? snapshot.data : null,
            // theme: _themeData,
            // onGenerateRoute: ,
            routes: <String, WidgetBuilder>{
              WelcomeScreen.routeName: (BuildContext context) =>
                  WelcomeScreen(),
              LoginScreen.routeName: (BuildContext context) => LoginScreen(),
              AuthConfirmScreen.routeName: (BuildContext context) =>
                  AuthConfirmScreen(),
              SupportScreen.routeName: (BuildContext context) => SupportScreen(),
              SupportTeamScreen.routeName: (BuildContext context) =>
                  SupportTeamScreen(),
              SupportPermissionScreen.routeName: (BuildContext context) =>
                  SupportPermissionScreen(),
              SpecialtiesScreen.routeName: (BuildContext context) =>
                  SpecialtiesScreen(),
            },
            home: WelcomeScreen(),
          );

This is the flow
Welcome -> Login ->Auth ->Support -> SupportTeam -> SupportPermission  then i want to go back to Support
Navigator.popUntil(
                  context, ModalRoute.withName(SupportScreen.routeName));

throws me the error posted by OP
following @ViniciusSossela  advice solves it... but why is the Documentation not clear on this implementation?..

I had the same issue... The problem was the same that @soaresgabriel said, but I was not navigating directly from routes. I did navigate with the code below and I wasn't setting the name of it, like in the @soaresgabriel case.
Navigator.of(context).push(
            MaterialPageRoute(
              builder: (context) => MyFuckingPage(),
            ),
          );

Then I solved with:
Navigator.of(context).push(
            MaterialPageRoute(
              settings: RouteSettings(name: MyFuckingPage.routeName), <----------
              builder: (context) => MyFuckingPage(),
            ),
          );

and then the popUntil worked:
Navigator.of(context).popUntil(
                          ModalRoute.withName(MyFuckingPage.routeName));

@zoechi To me the error was also not clear... I just realized that the name was missing because I found this issu on flutter github.

awesome solution, I just solved this problem according to your answer.
`
page =  new PageRouteBuilder(
settings: RouteSettings(name: "/"),
pageBuilder: ...
)
`

I had a problem where I had 2 Navigators. the root navigator is used. https://stackoverflow.com/a/50683571/5115254
Navigator.of(context, rootNavigator: true).pop(result)

When I remove the homepage from the route popUntill worked. Because I was setting a home property in MaterialApp Widget as well as the same route in the routes.

The Same problem :when I use the ' return await Navigator.of(context).pushReplacement(route);'
E/flutter (21450): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Bad state: Future already completed
E/flutter (21450): #0      _AsyncCompleter.complete (dart:async/future_impl.dart:39:31)
E/flutter (21450): #1      Route.didComplete (package:flutter/src/widgets/navigator.dart:189:19)
E/flutter (21450): #2      NavigatorState.pushReplacement. (package:flutter/src/widgets/navigator.dart:1846:13)
E/flutter (21450): #3      TickerFuture.whenCompleteOrCancel.thunk (package:flutter/src/scheduler/ticker.dart:389:15)
E/flutter (21450): #4      _rootRunUnary (dart:async/zone.dart:1132:38)
E/flutter (21450): #5      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter (21450): #6      _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
E/flutter (21450): #7      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
E/flutter (21450): #8      Future._propagateToListeners (dart:async/future_impl.dart:668:32)
E/flutter (21450): #9      Future._completeWithValue (dart:async/future_impl.dart:483:5)
E/flutter (21450): #10     Future._asyncComplete. (dart:async/future_impl.dart:513:7)
E/flutter (21450): #11     _rootRun (dart:async/zone.dart:1124:13)
E/flutter (21450): #12     _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter (21450): #13     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
E/flutter (21450): #14     _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:963:23)
E/flutter (21450): #15     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
E/flutter (21450): #16     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)

Doing a pop before a pushRepacementNamed will also give you the error.
Navigator.pop(context);
Navigator.pushReplacementNamed(context, "/");
E/flutter ( 6044): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Bad state: Future already completed
E/flutter ( 6044): #0      _AsyncCompleter.complete (dart:async/future_impl.dart:39:31)
E/flutter ( 6044): #1      Route.didComplete (package:flutter/src/widgets/navigator.dart:203:19)
E/flutter ( 6044): #2      NavigatorState.pushReplacement. (package:flutter/src/widgets/navigator.dart:1861:13)
E/flutter ( 6044): #3      TickerFuture.whenCompleteOrCancel.thunk (package:flutter/src/scheduler/ticker.dart:389:15)
E/flutter ( 6044): #4      _rootRunUnary (dart:async/zone.dart:1132:38)
E/flutter ( 6044): #5      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 6044): #6      _FutureListener.handleValue (dart:async/future_impl.dart:137:18)
E/flutter ( 6044): #7      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45)
E/flutter ( 6044): #8      Future._propagateToListeners (dart:async/future_impl.dart:707:32)
E/flutter ( 6044): #9      Future._completeWithValue (dart:async/future_impl.dart:522:5)
E/flutter ( 6044): #10     Future._asyncComplete. (dart:async/future_impl.dart:552:7)
E/flutter ( 6044): #11     _rootRun (dart:async/zone.dart:1124:13)
E/flutter ( 6044): #12     _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter ( 6044): #13     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
E/flutter ( 6044): #14     _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:963:23)
E/flutter ( 6044): #15     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
E/flutter ( 6044): #16     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)

Error thrown on navigator pop until : “!_debugLocked': is not true.”
Navigator.of(context).popUntil( ModalRoute.withName('/setting'));

原因：栈内没有对应路由的信息

解决办法：对应路由跳转进栈，路由跳转出栈

I'm having the same issue

I still have same issue when use popuntil

I had the same issue... The problem was the same that @soaresgabriel said, but I was not navigating directly from routes. I did navigate with the code below and I wasn't setting the name of it, like in the @soaresgabriel case.
Navigator.of(context).push(
            MaterialPageRoute(
              builder: (context) => MyFuckingPage(),
            ),
          );

Then I solved with:
Navigator.of(context).push(
            MaterialPageRoute(
              settings: RouteSettings(name: MyFuckingPage.routeName), <----------
              builder: (context) => MyFuckingPage(),
            ),
          );

and then the popUntil worked:
Navigator.of(context).popUntil(
                          ModalRoute.withName(MyFuckingPage.routeName));

@zoechi To me the error was also not clear... I just realized that the name was missing because I found this issu on flutter github.

I just had the same problem, I'm using named Routes but previously haven't give names to respective routes. This answer made my day! Thanks @ViniciusSossela

@suryapermana92 could you provide a small code snippet on how you fixed the problem with named routes? Mine are still broken...

sorry just saw this. @julianbraasch sure.
this is my route_generator.dart for my RouteGenerator class.
class RouteGenerator {
  static Route<dynamic> generateRoute(RouteSettings settings) {
    switch (settings.name) {
      case indexRoute:
        return MaterialPageRoute(builder: (_) => SplashScreen());
      case navigationRoute:
        return MaterialPageRoute(
            builder: (_) => NavigationScreen(),
          settings: RouteSettings(name: navigationRoute) // <----- here is where you give the name
        );
      case homeRoute:
        return MaterialPageRoute(builder: (_) => HomeScreen());
      case tutorialRoute:
        return MaterialPageRoute(builder: (_) => TutorialScreen());
      case loginRoute:
        return MaterialPageRoute(builder: (_) => LoginScreen());

      default:
        return _errorRoute();
    }
  }

  static Route<dynamic> _errorRoute() {
    return MaterialPageRoute(builder: (_) {
      return Scaffold(
        appBar: AppBar(
          title: Text('Error'),
        ),
        body: Center(child: Text('ERROR 404')),
      );
    });
  }
}

@suryapermana92 thank you. But I think we are still talking about different things. In my app, I am not using MaterialPageRoute explicitly. I give each route a name like this
class X extends StatefulWidget {
    static const String routeName = "/X";
    ...
}

and then navigate to that route by calling
Navigator.pushNamed(context, X.routeName);

so there is no way I can pass RouteSettings.

@julianbraasch I am navigating with quite similar syntax:
Navigator.of(context).pushNamed(routeName, arguments: args);

the settings also important for us later to pass arguments to the destination screen.
I suggest you check this article on medium https://medium.com/flutter-community/clean-navigation-in-flutter-using-generated-routes-891bd6e000df
maybe you can few hours fix your navigation and you can continue from there

@suryapermana92 I use the arguments parameter of pushNamed:
@optionalTypeArgs
static Future<T> pushNamed<T extends Object>(
  BuildContext context,
  String routeName, {
  Object arguments,
 }) {
  return Navigator.of(context).pushNamed<T>(routeName, arguments: arguments);
}

Thanks for the article link, I will check it out.

[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Bad state: Future already completed
E/flutter ( 7601): #0      _AsyncCompleter.complete (dart:async/future_impl.dart:39:31)
E/flutter ( 7601): #1      Route.didComplete (package:flutter/src/widgets/navigator.dart:203:19)
E/flutter ( 7601): #2      NavigatorState.pushReplacement. (package:flutter/src/widgets/navigator.dart:1861:13)
E/flutter ( 7601): #3      TickerFuture.whenCompleteOrCancel.thunk (package:flutter/src/scheduler/ticker.dart:389:15)
E/flutter ( 7601): #4      _rootRunUnary (dart:async/zone.dart:1132:38)
E/flutter ( 7601): #5      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 7601): #6      _FutureListener.handleValue (dart:async/future_impl.dart:137:18)
E/flutter ( 7601): #7      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45)
E/flutter ( 7601): #8      Future._propagateToListeners (dart:async/future_impl.dart:707:32)
E/flutter ( 7601): #9      Future._completeWithValue (dart:async/future_impl.dart:522:5)
E/flutter ( 7601): #10     Future._asyncComplete. (dart:async/future_impl.dart:552:7)
E/flutter ( 7601): #11     _rootRun (dart:async/zone.dart:1124:13)
E/flutter ( 7601): #12     _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter ( 7601): #13     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
E/flutter ( 7601): #14     _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:963:23)
E/flutter ( 7601): #15     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
E/flutter ( 7601): #16     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
E/flutter ( 7601):

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.9.1+hotfix.6, on Microsoft Windows [Version 10.0.18362.476], locale en-IN)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[√] Android Studio (version 3.5)
[√] Connected device (1 available)
• No issues found!

 Navigator.pushReplacement(       context,       new CupertinoPageRoute(builder: (context) => data),     );

It works in my case !  So this is how I solve.
I using popUntil to back from pageC to pageA
PageC
Navigator.of(context).popUntil(ModalRoute.withName(PageA.ROUTE));
router.dart
case PageA.ROUTE:
        return MaterialPageRoute(
          settings: RouteSettings(name: PageA.ROUTE), <--- Important
          builder: (_) => ProxyProvider<ABCRepository,ABCBloc>(
            builder: (context, abcRepository, abcBloc) =>
                ABCBloc(repository: repository),
            dispose: (context, abcBloc) => abcBloc.dispose(),
            child: PageA(),
          ),
        );

If you tried everything from above, i.e. all your routes are named. You might be in the same situation as me, I needed to popUntil to the first screen, which was launched by specifying home:  , the default name for that screen is not what you defined, it's '/', and you can override it with initialRoute. My builder is like this:
        builder: (context, darkThemeProvider, sessionProvider, child) {
          return MaterialApp(
            title: 'Abc',
            home:
                sessionProvider.loggedIn() ? DashboardScreen() : LoginScreen(),
            routes: <String, WidgetBuilder>{
              DashboardScreen.route: (context) => DashboardScreen(),
              LoginScreen.route: (context) => LoginScreen(),
            },
            initialRoute: sessionProvider.loggedIn() ? DashboardScreen.route : LoginScreen.route,
            onGenerateRoute: _generateRoute,
          );
        }

Both routes name mapping and the initialRoute overriding are needed.


Type Defintion for TwentyTwenty

Is there Type definition for this library to be used with TypeScript?

@mustafasalahuldin There is not, and we don't really use typescript over here at Zurb, so not sure how much I can help with that.
I see you have a few PR's open to start working on this, if you'd please condense them to 1 PR I'd be happy to consider getting it merged for you!
Cheers

Thanks for response.
I already closed all the unneeded pull requests and kept the latest one.
Thanks
Sent from Yahoo Mail for iPad
On Friday, December 4, 2020, 12:02 AM, Nick Marazzo<EMAIL_ADDRESS>wrote:
@mustafasalahuldin There is not, and we don't really use typescript over here at Zurb, so not sure how much I can help with that.
I see you have a few PR's open to start working on this, if you'd please condense them to 1 PR I'd be happy to consider getting it merged for you!
Cheers
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


ApiVersion for Microsoft.ApiManagement/service/apis properties

Generally validation of ApiVersion is working but the property object under Microsoft.ApiManagement/service/apis has another value with the same name:

apiVersion
string
No
Indicates the Version identifier of the API if the API is versioned

From: Microsoft Docs
This value is also covered by the test but the value here has fewer restrictions and therefore it fails the test with a false negative.
Here is my code:
 {       "type": "Microsoft.ApiManagement/service/apis",       "apiVersion": "2020-06-01-preview",       "name": "[concat(variables('resourceName'), '/', variables('apiName'))]",       "dependsOn": [         "[resourceId('Microsoft.ApiManagement/service/apiVersionSets', variables('resourceName'), uniqueString(variables('apiName')))]"       ],       "properties": {         "displayName": "[variables('apiUrlSuffix')]",         "apiRevision": "1",         "description": "Init",         "subscriptionRequired": true,         "path": "[variables('apiUrlSuffix')]",         "protocols": [           "https"         ],         "isCurrent": true,         "apiVersion": "v1",         "apiVersionSetId": "[resourceId('Microsoft.ApiManagement/service/apiVersionSets', variables('resourceName'), uniqueString(variables('apiName')))]"       }     }
And here is the test result:

[-] apiVersions Should Be Recent (31 ms)
Api versions must be a fixed date. Microsoft.ApiManagement/service/apis/ is not.

If I omit:
"apiVersion": "v1",
The test passes.

Did you get a resolution to this issue? I am seeing it, as well.

Sadly no

Try now - thanks for the repro snippet, never would have guess that one...

Thank you.
It now accepts the apiVersion v1 :)


[Feature request] Event tracking

First of all: beautiful tool. So happy for stumbling upon it. Would love to see event/click tracking.

It's already implemented 😄 There's just no UI or documention for it yet. Should be in the next major release.

Amazing!


Sound searh app.

Closing due to lack of description. Please open a new issue if you're running into any issues with the plugin!


code for saving logs to files.

Added code to save logs generated by bench-route to secondary storage.
The log file is created in current user's home directory with date & time.
Signed-off-by: Pratik Shinde<EMAIL_ADDRESS>This creates a file with name : bench-route-.log in current user's home directory.
logger writes to both stdout & logfile. We can add a command line option to bench-route utility to enable/disable stdout output.
Testing:

@Harkishen-Singh , can you check why GolangCI is running into error. I had run it locally. no errors observed.

@Pratik32 golang-ci has been broken after pushing vendor directory without the mods. Would be fixed in following commits. Till then, let's ignore it.
will review asap. Thanks!


How do I use this package?

I'm looking to store a python script in memory within a go binary. In my go code, I'd like to simply write something like pkgr.Open("./foo.py"), expecting the file to already be in memory.
I would think that I'd need to run a command in advance on the python file in order to create a go source file out of it. What command do I use? And what method calls do I use in my go code to read the file in?
The README is quite confusing to me given my simple use case; I'd be happy to contribute some documentation if/when this is resolved.

I was new to Pkger last week with the readme alone, wouldn't have understood how to use it. You are possibly in a better place to make notes NOW about what was missing from the documentation to aid improving it before reading the rest of this comment.
Running "pkger" at the command line will search through your codebase and find any references to "pkger." in your case "Open"
If you run pkger list in the root of your project, you should see "foo.py" printed as being a found file. This is a debug stage that is only needed to see what files would get packaged, you dont HAVE to run this.
Just running just pkger will find the same things, but this time bundle them into a pkged.go file. You do not have to do anything else.
To use the file in your go code, its path should start with / which is the root of your project. If foo.py was in the same directory as your go.mod file then, pkger.Open("/foo.py") would be required.
I would HIGHLY recommend you check out this. https://blog.gobuffalo.io/introducing-pkger-static-file-embedding-in-go-1ce76dc79c65 there is also a video showing how to use it.

But there are still things I don't understand from documentation.
I needed to put my "pkged.go" file in the same package as the command running "Pkger.Walk" even though this was 3 levels deep in my project, but have no idea why.
If it was anywhere else it would just result in a "go module not found" err and no indication of why.
Also, there is a pkger serve with little documentation
Hopefully documentation improvements are on the agenda from people who know more than me about it...

I still dont get it running. How exactly would I embed a Spa like react and serve it within a gin Route handler. This doesn't get any clearer, neither reading documentation, nor watching the Video.

The documentation of this library is indeed very unhelpful.
After struggling a bit I figured out the concept though, so if that can save someone's time:
Pkger implements the same interfaces as the standard lib.
Basically, if you want to package a file or a directory that you access in your code, just replace the calls to the filesystem with pkger, for example:
// Before
_, err = os.Stat(path)
file, err = os.Open(path)

// After
_, err = pkger.Stat(path)
file, err = pkger.Open(path)

Or if you want to http serve a directory like @patrickhener :
// Before
http.Handle("/", http.FileServer(http.Dir("/web")))

// After
http.Handle("/", http.FileServer(pkger.Dir("/web")))

It will work as usual when developing.

This will scan all your source files and package all the resources using pkger.<something> in a pkged.go source file that will be generated in your project's root (by default).
Then run the usual go build, and your static resources will be included in the final executable as they are now bundled in pkged.go.
You may want to add pkged.go to your .gitignore as you will have to generate it each time you want to build your executable.
Note: If you use a scripted deployment process like using a Dockerfile the build step are:

install pkger CLI (go get github.com/markbates/pkger/cmd/pkger)
install dependencies via go mod
run the pkger command
run go build


Added a frames-per-sec option to train-ctc-parallel,

so that the corpus size estimates (in h) are correct in the log when a different frame rate than 100 is used in a setup.

great, thanks - will look at this ASAP. For now, it is not so much a concern for us because when we train with e.g. a 30ms frame shift, we also do 3-fold over-sampling (with offset of 0, 10, and 20 milliseconds), so that overall the duration reported after all the data has been processed is actually correct without this patch.

Only a minor addition, the reason I've added it is related to my setup of the 30ms frame shift. I've randomized the offsets, so that overall amount of training data stays the same, but the model will still learn from different offsets. But this results in a framerate of 33.3 without oversampling.

Confident these won't break anything, testing in progress


Chiselstrike Errors should be more descriptive and user can throw Chisel errors

Our endpoints currently don't provide a good way to handle errors.

We don't include any numerical codes in the errors and don't propagate them nicely to the response. In case of an error, the response could automatically include body: {message: failed to locate user of id blabla, code: 7}
We should expose ChiselError classes so that users don't have to write their boilerplate code to get nice error handling.

@luisfvieirasilva @ricardodalarme @honzasp did I get it right?

I'll work on that ASAP


mmwrite fails on dense, skew-symmetric array

My issue is about writing an array using mmwrite and reading it again with mmread not giving the same result.  Data is lost during the write.  I expect this to be roundtrip-able (but it's very possible that there's some weird quirk to the Matrix Market format that I'm unaware of).
For the example data, I am using the same data as used by scipy.io.tests.test_mmio._64bit_integer_sparse_skew_example, but as a dense array.
Reproducing code example:
import numpy as np
from scipy.io import mmwrite, mmread
from io import BytesIO

array = np.array([[2**31, -2**63 + 1], [2**63 - 1, 2**63 - 1]])
target = BytesIO()
mmwrite(target, array)

# Let's look at the written file
target.seek(0)
print(b''.join(target.readlines()).decode())

target.seek(0)
roundtrip = mmread(target)
np.testing.assert_array_equal(array, roundtrip)

The written Matrix Market file:
%%MatrixMarket matrix array integer skew-symmetric
%
2 2
9223372036854775807

Error message:
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-385-ee168e3503bb> in <module>
     13 target.seek(0)
     14 roundtrip = mmread(target)
---> 15 np.testing.assert_array_equal(array, roundtrip)

    [... skipping hidden 1 frame]

~/miniconda3/envs/grblas/lib/python3.8/site-packages/numpy/testing/_private/utils.py in assert_array_compare(comparison, x, y, err_msg, verbose, header, precision, equal_nan, equal_inf)
    838                                 verbose=verbose, header=header,
    839                                 names=('x', 'y'), precision=precision)
--> 840             raise AssertionError(msg)
    841     except ValueError:
    842         import traceback

AssertionError:
Arrays are not equal

Mismatched elements: 2 / 4 (50%)
Max absolute difference:<PHONE_NUMBER>854775807
Max relative difference: 0.
 x: array([[<PHONE_NUMBER>, -9223372036854775807],
       [<PHONE_NUMBER>854775807,<PHONE_NUMBER>854775807]])
 y: array([[                   0, -9223372036854775807],
       [<PHONE_NUMBER>854775807,                    0]])

Scipy/Numpy/Python version information:
1.6.1 1.19.2 sys.version_info(major=3, minor=8, micro=5, releaselevel='final', serial=0)

@eriknw, thanks for reporting the problem.
This is a bug in mmwrite.  More specifically, the bug is in the method _get_symmetry of the class MMFile in mmio.py.  MMFile._get_symmetry(a) is supposed to classify the symmetry of a based on the values in a.  A skew-symmetric array must have zeros on the diagonal, but the _get_symmetry method ignores the diagonal elements of a.
For example,
In [31]: from scipy.io.mmio import MMFile

In [32]: a = np.array([[1, 2], [-2, 99]])

In [33]: a
Out[33]:
array([[ 1,  2],
       [-2, 99]])

In [34]: MMFile._get_symmetry(a)
Out[34]: 'skew-symmetric'

The _get_symmetry method also incorrectly classifies the Hermitian array h in the following:
In [56]: h
Out[56]:
array([[ 1.+0.j,  0.+2.j],
       [-0.-2.j,  3.+0.j]])

In [57]: (h.conj().T == h).all()  # Verify that h is Hermitian.
Out[57]: True

mmwrite classifies this as skew-symmetric, but it should be Hermitian:
In [58]: target = BytesIO()

In [59]: mmwrite(target, h)

In [60]: print(target.getvalue().decode('ascii'))
%%MatrixMarket matrix array complex skew-symmetric
%
2 2
1.0000000000000000e+00 0.0000000000000000e+00
-0.0000000000000000e+00 -2.0000000000000000e+00
3.0000000000000000e+00 0.0000000000000000e+00


Quotes for Injection Processes

"Now let us come boldly to the throne of grace, that we may obtain mercy, and find grace for timely help!" BIBLE
"Not everyone finishes on the same day...we said goodbye at different times." NEWS
"Tendencies to merge parts of the mood system, most important in narration." BOOK

Some process processes can depend on informal injection quotation routines and have to ignore system accronautics in every theme part of the culture systems.

To get a better flow in this topic drive a definition code construction is visible here:
https://github.com/ElexIrrAnion/buildersTribe/blob/master/Documents/Acronautic/DEF-SFOBM.md


Issue on page /pairwise/needleman.html

Both of the tasks in 3.6.3 confuse me. I think there might be a mistake. The rules for both exercises are:
Match: +2
Mismatch: -1
Gap penalty: -3
As far as I understand that means every time one chooses to move vertically or horizontally that leads to a score reduction of  3 and a diagonal movement leads to a score increase of 2, if a match is created. If a mismatch is created, the score is instead reduced by 1.
In the matrix shown in the answer, the score is only reduced by 2, if the movement is vertical or horizontal and the score is increased by 3, if a diagonal movement is made and a match is created.
Therefore I would think the rules are supposed to be:
Match: +3
Mismatch: -1
Gap penalty: -2
Or I got something very wrong.
Best regards
Lennart Pielström

Indeed. I just updated the exercises.
Thanks!
--Lukas
On Tue, Aug 27, 2024 at 9:05 PM lpi625 @.***> wrote:

Both of the tasks in 3.6.3 confuse me. I think there might be a mistake.
The rules for both exercises are:
Match: +2
Mismatch: -1
Gap penalty: -3
As far as I understand that means every time one chooses to move
vertically or horizontally that leads to a score reduction of 3 and a
diagonal movement leads to a score increase of 2, if a match is created. If
a mismatch is created, the score is instead reduced by 1.
In the matrix shown in the answer, the score is only reduced by 2, if the
movement is vertical or horizontal and the score is increased by 3, if a
diagonal movement is made and a match is created.
Therefore I would think the rules are supposed to be:
Match: +3
Mismatch: -1
Gap penalty: -2
Or I got something very wrong.
Best regards
Lennart Pielström
—
Reply to this email directly, view it on GitHub
https://github.com/statisticalbiotechnology/bibook/issues/5, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAXKAG2M7APXALI4SAZFP3ZTTEZLAVCNFSM6AAAAABNGYEEJSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGQ4TAMJTGIYTEMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Fix incorrect default timeout value for Coherence storage driver

This PR is to change the default timeout which was incorrectly set to 30 millis instead of 30 seconds.

thanks @ReneWerner87 !


Create OIDC Module to create OIDC provider and role in each member account

User Story
Very similar to this - https://github.com/ministryofjustice/aws-root-account/tree/main/modules/github-oidc-provider
We want to create a module that does the following:

create an OIDC provider for GitHub Actions
create a github-actions role with read only permissions
allow for any branches within a repo

Module inputs:
github_repository
additional_permissions (accept aws_iam_policy_document with additional permissions to attach to the github-actions role)
This module should be created in the modernisation-platform repository and should have tests.
Value
Enables OIDC to be used improving security by removing credentials from Github actions
Definition of done

[ ] module created
[ ] readme has been updated
[ ] user docs have been updated
[ ] another team member has reviewed
[ ] tests have been created

Reference
How to write good user stories

Could we add some links here to more references? EG, @gfou-al 's readme?

Also we should probably link this to the parent ticket.

https://github.com/ministryofjustice/modernisation-platform/issues/1975

Resolved - resource now available through this repo: https://github.com/ministryofjustice/modernisation-platform-github-oidc-provider


Forms: increase the character limit

Summary
Currently there is a 500 character limit in forms.py for the experience and difference text and a 150 character limit for the title text. This is not long enough for the current placeholder stories that we are using.
Note there is no limit in the models, just the form
Need to decide if to place a limit on the number of characters and if so what it should be.
Deadline
April 2023
What needs to be done?

[ ] Decide new character limit
[ ] Implement change (have done it locally and works)

Who can help?

@gedankenstuecke
@GeorgiaHCA

Updates

I would err on the side of being quite liberal with the character limits, maybe more so in the actual experience than in the title.
But that's purely a gut feeling, maybe we can ask in the May meeting what people think. I guess there's a trade-off between "enforcing" brevity and people getting frustrated with not having enough space and maybe collectively we can explore where to make that cut-off :)

Cut and paste from google doc from monthly meet up (4th May 2023)
We’ll begin by implementing no or a very large word [character] count for the MVP, and do user testing and iterate if people send in unworkable large experiences.
Titles should be consistent and readable and fitted to user screen size - this is the most important part to get right-  we should also impose a length and cut off rest from story - but don’t cut off title.

Closed by #512


Typo - Blog is singular Blogs are plural

Please change the Blog section name on the menu as well as header as BLOGS

Updated the header in #53
Issue Resolved ✔


feat: xdefiWallet support

Adds XDEFI wallet as an option

Hey @loxator. Can you swap out the SVG with a non-transparent background?

I've deployed the rainbowkit-example here, so please QA with this web deployment. Many teams have bumped into different behavior between localhost and a production environment because of injector limitations.

@DanielSinclair , Thanks a lot for giving this a test run, really appreciate it!
I have updated the SVG as per your comment. I hope that one works.
The issue you mentioned with the injector is actually a bit of custom logic on our end. We had issues with some dApps that would keep sending eth_requestAccounts continuously, even after the injector would reply with valid accounts. So we have a 2 second wait where by if the same origin requests the same msg, we tend to ignore it.
If you wait for 2 seconds and click on Retry , it will work as expected. Please let me know if this is ok, or if its a cause for some regression, I will check it out further and discuss with my team to remove this logic if need be, as we would very much like to get integrated into RainbowKit.
Thanks again!

@loxator Got it. That logic should be okay. But I'm still bumping into an issue where the connector is not always detected; RainbowKit looks at the window on-load to do this.
https://user-images.githubusercontent.com/4412473/221380476-76491018-bb86-4bab-a654-2ae4e1ac5e53.mov

@DanielSinclair , that's a nice catch! Did you have any other wallet enabled that overwrites window.ethereum object? I couldn't reproduce it when I had just XDEFI enabled, but with MetaMask enabled as well, it seems like window.ethereum is overwritten and hence isXDEFI property is removed from the ethereum object.
My proposed solution is to check for our provider which takes the namespace xfi, so something like
const installed =
    typeof window !== 'undefined' &&
    (typeof window?.xfi !== 'undefined' ||
      (typeof window.ethereum !== 'undefined' &&
        (window.ethereum as any).isXDEFI === true));

However, window.xfi isn't part of the global typings of and hence typescript throws an error. I was wondering if its ok to create a types.d.ts in the root folder and add the xfi property to extend the Windows object? Or if you have a better idea in mind? Thanks again!

@loxator Nope, no other wallet active at that time. Make sure to test on a remote deployment; Chrome will have different injection behavior on localhost. The preferred approach is for the wallet to utilize window.ethereum.providers on overwrite and for installed to check both window.ethereum and window.ethereum.providers. As far as the window, feel free to just use a @ts-ignore for the time being. These window typings will probably get included into wagmi upstream at some point.

Hi @DanielSinclair , I have tried to test on the site example after introducing the new changes, which is depending on the provider we inject window.xfi instead of window.ethereum as I believe anyone could completely overwrite the latter.
It seems to be working well, hope with this change, we can get it merged 🙌  As always, thanks for all your help and valuable feedback!

Hi @DanielSinclair, any updates on this?

Apologies for the constant pings @DanielSinclair , but it would be awesome if you could take a quick look on this one 🙏

@loxator Can't seem to get the detection working

@DanielSinclair Trying to get this to work, but still not entirely sure why its behaving like this. One thing I have found is that if I do Empty cache & Hard refresh on the remote deployment, then it manages to detect the provider. After that it doesn't, but I am unsure as to why 😕
Our provider is injected as soon as the webpage is loading but somehow the installed is managing to read the data before that. We aren't doing any async work either before injecting. I am continuing to check but I was wondering if you had any idea regarding this 🤔

@DanielSinclair , firstly, I apologize for the constant deploys as I had no other way of testing 🙈
I just realized you have a draft PR open #1095 which could potentially fix this issue. I will wait for that to be merged first and come back to this. I hope I haven't caused a lot of mess on vercel 🙏

@DanielSinclair I have picked the commit from #1095 and added it to my PR. Furthermore, i have also made installed to have a Promise<boolean> type, so I can trigger XDEFI's provider with a setTimeOut so the provider has time to inject.
It would be awesome if we could get this merged 😄

@loxator We probably won't move forward with #1095 as it currently stands, as the installed/provider readiness mismatch could lead to unexpected side effects for dApps. We're planning a larger refactor here that would rebuild connectors in a way that is more compatible with Wagmi. Connectors are currently built on page load and have a one-time ready check that is set to true when getProvider returns a window provider. RainbowKit will mark a wallet as installed when both ready is true and installed (the window check within this connector) is not undefined. We have heard changes in Manifest v3 lead to differences in script execution and caching, which can cause issues in production for extensions (without the same behavior on localhost). All of the wallets that encountered this ended up resolving the issue within their injector, but I don't believe any are opensource or have shared the exact solution. Limiting asynchronous work within the injector inpage script seems to be the most important factor. There are separate situations where the extension client will have limited resources (like Safari Extensions) that exacerbates this problem.

@DanielSinclair , thanks to your insight, I think I have finally solved this! We were adding the xfi object to the window object once we had setup the streams for communicating with the website. This was most likely happening after the DOMContentLoaded event, and thats why injection was slow.
I have fixed this on our end, and hopefully with the new build it should be good. I will ping you once we release the version of the wallet, for the time being it would be great if you could authorize the deploy with my latest changes. Thanks!

@DanielSinclair , new version for XDEFI wallet is released (https://chrome.google.com/webstore/detail/xdefi-wallet/hmeobnfnfcmdkdcmlblgagmfpfboieaf?hl=en) . Should be good to test now 🙏

Otherwise looks good. Will test and merge this week
Tearing up reading this ngl 😂, updated my PR! Thanks for your help :D

Did you get a chance to test this out @DanielSinclair ?

Closing in favor of #1175 to merge

thanks to your insight, I think I have finally solved this! We were adding the xfi object to the window object once we had setup the streams for communicating with the website. This was most likely happening after the DOMContentLoaded event, and thats why injection was slow on the subsequent reloads.
I have fixed this on our end, and hopefully with the new build it should be good. I will ping you once we release the version of the wallet, for the time being it would be great if you could authorize the deploy with my latest changes. Thanks!

@loxator is't possible to provide any more information on how you were able to fix this at your end? I am also facing something similar issue and there might be other wallets as well, If you can give more details on the fix which was done at wallet. It will be really helpful. Thank you

@punithbm Sorry, I can't help without much context. What exactly are you facing? The issue on my end was that our providers which talk with the dApps weren't being injected into the dApp websites on subsequent reloads (basically the cached website loaded faster than our injection as we were injecting into the window object once our extension was able to communicate over a port with the dApp)

@loxator Apologies for the delayed response. Thank you for providing the details. Our extension is MV3 based, and we have managed to discover some similar workarounds. Finger crossed that implementing these solutions will resolve the issue in our extension.


Send QUIT before kill, because after kill we may not be able to send msgs

This fixes a small issue with my controller.
controller.kill() may make the remote process kill the network connection, which ends up in this sort of an error:
======================================================================
ERROR: testPlainLarge (test_sasl.CapTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/dan/code/irc/irctest/irctest/cases.py", line 48, in tearDown
    self.conn.sendall(b'QUIT :end of test.')
ConnectionResetError: [Errno 104] Connection reset by peer

Putting the QUIT message before the kill message fixes this though.

Do you know why I did not have this issue so far?

Not sure but presuming it's just because of how different controllers handle QUIT and being killed. I'm using this to test and fix up my own (very alpha/beta) client library here, so I'll probably find some different issues.

I'm glad this repo is already useful :)
Thanks for the contribution


Expose domain type outputs from elasticsearch module

Why?
When doing the following:
module "elasticsearch" {
  source  = "git::https://github.com/cloudposse/terraform-root-modules.git//aws/elasticsearch?ref=tags/0.123.0"
  aws_assume_role_arn = "${var.aws_assume_role_arn}"
  namespace = "${var.namespace}"
  stage = "${var.stage}"
  region = "${var.region}"
  zone_name = "${var.zone_name}"
  ....

There's no way to access the outputs from the elasticsearch module. This is because there's no outputs.tf defined (see https://github.com/cloudposse/terraform-root-modules/tree/master/aws/elasticsearch).
I specificially need some of the domain outputs from the elasticsearch module.

Closing this, as I overlooked the outputs defined in main.tf towards the bottom of the file. Would have been nice to have the outputs defined in a separate file.


Check for parentheses when within parameter list

The following code doesn't create an offense:
# Does fooing
class Foo
  def needs_parentheses
    foo(bar 1, 2)
  end
end

Should it do so? I think it's too easy to mistake it as saying foo(bar, 1, 2).

I think whatever rules as regards parenthesizing method calls are applied elsewhere, should also be applied here in just the same way. It doesn't deserve a special case.

There are very few rules that are enforced automatically about parens. Mostly because it's really hard to determine if something is a DSL method (which generally are invoked without parens).
I think @agrimm is right that the code he presents in the example is a bit unclear.

I think a new cop for this special case would be a good idea. A method call without parentheses that's an argument in another method call is a weird thing.

I have a cop for this, waiting for my outstanding PR to be merged before I open another one.

The new cop flags this:
 expect(slice.any? { |l| l.include? cop.cop_name }).to be_truthy

...because of the #include? call. Do you like this? Or should this be exempt, perhaps because it is inside a block?

Hmmm I'm thinking this was a bit too hastey. I got some code that looks like:
foo(bar 'hello')

I consider that quite OK since you can tell there's an inside function. I'm thinking that this cop should only be on if the arity is greater than 1.

I consider that quite OK since you can tell there's an inside function. I'm thinking that this cop should only be on if the arity is greater than 1.

Rather than adding more and more rules about when parens are required, I suggest we keep this cop simple. People who don't like the simple rule can disable the cop.


What happen to an Order to make if the HTTP POST fail during the response?

Hello,
When I make a buy/sell order I would like to handle IO exceptions during the HTTP response and be sure to don't duplicate the order.
Some exchanges allow to use Client Order ID, so if an exceptions occurs, I can just check if the order exists with my own generated ID => So try again if the order don't exists.
But for exchanges which don't have this feature, I can't check if the order exists because I don't receive any results (Just a connection error).
So there is any rule in the HTTP world which says if a POST response is not correctly send back to the user => Don't make the transaction ? (So in this case I can just try again and be sure to don't duplicate order)
Thanks in advance :)

In theory it should be this way, but this is really going to come down to the specific exchange's implementation so better to confirm and validate against each particular exchange.

if an exchange allows you to  pass a user reference to the order then you can check if the order got added, if not then there is no 100% sure way to know if the request succeeded or not


UserConnectEvent cannot be cancelled

Confirmation

[X] I have checked for similar issues.
[X] I using the latest version of Chameleon.

Describe the bug
When canceling the UserConnectEvent, with orn without a reason, the user is not being kicked.
(Also i saw that the implementation of minestom, the events, are using EventBuilder#ignoredIfCancelled(false);, which devers the purpose of the EventSubscriber#acceptCancelled(true) )
Expected behaviour
Kicked/Denied the connection/player with a reason.
Reproduction steps
public class PlayerLoginEvent implements EventSubscriber<UserConnectEvent> {

   public PlayerLoginEvent(ChameleonPlugin pl) {
      pl.getChameleon().getEventbus().subscribe(this);
   }

   public void on(UserConnectEvent event) throws Exception {
       event.cancel(true);
   }

   @Override
   public boolean acceptCancelled() {
    //Gets ingored in the Minestom Impl
    return true;
   }
}

Exception
There is no exception.

Environment
Operating System: Windows 11 & Windows 10
Platform(s): Minestom (Latest Release)

Additional information
None

(Also i saw that the implementation of minestom, the events, are using EventBuilder#ignoredIfCancelled(false);, which devers the purpose of the EventSubscriber#acceptCancelled(true) )

I thought EventBuilder#ignoredIfCancelled(false) meant that it should not ignore cancelled events :thinking:

Okay, despite it, the boolean in the EvenSubscriber doesn't get used at all.

Okay, despite it, the boolean in the EvenSubscriber doesn't get used at all.

The acceptsCancelled boolean is used here: https://github.com/ChameleonFramework/Chameleon/blob/556d96ac8acdca29c092ce065dc0e7a53da5b448/api/src/main/java/dev/hypera/chameleon/event/EventBusImpl.java#LL71C31-L71C31

Support for Minestom in Chameleon has been discontinued - #268
Sorry for any inconvenience.


select query returns numbers as strings

I am ingesting some data using overlord with local firehose.
Indexer task:
{
  "type": "index",
  "spec": {
    "dataSchema": {
      "dataSource": "logdb_data",
      "parser": {
        "type": "string",
        "parseSpec": {
          "format": "json",
          "timestampSpec": {
            "column": "timestamp",
            "format": "iso"
          },
          "dimensionsSpec": {
            "dimensions": ["config_id", "data", "date", "stream_name"],
            "dimensionExclusions": [],
            "spatialDimensions": []
          }
        }
      },
      "metricsSpec": [
        {
          "type": "count",
          "name": "count"
        }
      ],
      "granularitySpec": {
        "type": "uniform",
        "segmentGranularity": "DAY",
        "queryGranularity": "NONE",
        "intervals": ["2015-01-01/3000-01-01"]
      }
    },
    "ioConfig": {
      "type": "index",
        "firehose": {
          "type": "local",
          "baseDir": "druid_data",
          "filter": "*.json"
        }
    },
    "tuningConfig": {
      "type": "index",
      "targetPartitionSize": 0,
      "rowFlushBoundary": 0
    }
  }
}

Data files look like this:
{"date":"2015-10-01T08:00:00.250000","stream_name":"default","config_id":"f1522d7e2ba620aa12bd3df4b7818e980fc22e9a","data":3.29,"timestamp":"2015-10-01T08:00:00.250Z"}
{"date":"2015-10-01T08:00:00.542000","stream_name":"write_time","config_id":"ff5141f8abcd042d9d98d7ba1aee0685cb75c933","data":362195292.0,"timestamp":"2015-10-01T08:00:00.542Z"}
{"date":"2015-10-01T08:00:00.542000","stream_name":"read_bytes","config_id":"ff5141f8abcd042d9d98d7ba1aee0685cb75c933","data":230724608.0,"timestamp":"2015-10-01T08:00:00.542Z"}
{"date":"2015-10-01T08:00:00.542000","stream_name":"read_count","config_id":"ff5141f8abcd042d9d98d7ba1aee0685cb75c933","data":21975.0,"timestamp":"2015-10-01T08:00:00.542Z"}
{"date":"2015-10-01T08:00:00.542000","stream_name":"read_time","config_id":"ff5141f8abcd042d9d98d7ba1aee0685cb75c933","data":149012.0,"timestamp":"2015-10-01T08:00:00.542Z"}

It goes in fine, no problem. Now, when I do select on them, e.g.
{
    "queryType": "select",
    "dataSource": "logdb_data",
    "dimensions": ["config_id", "stream_name", "data", "date"],
    "metrics": [],
    "granularity": "all",
    "intervals": ["2015-10-01T08:00/2015-10-01T09:00"],
    "pagingSpec": {"pagingIdentifiers": {}, "threshold": 5}
}

it returns:
[ {
  "timestamp" : "2015-10-01T08:00:00.000Z",
  "result" : {
    "pagingIdentifiers" : {
      "logdb_data_2015-10-01T00:00:00.000Z_2015-10-02T00:00:00.000Z_2015-11-17T14:07:34.927Z" : 4
    },
    "events" : [ {
      "segmentId" : "logdb_data_2015-10-01T00:00:00.000Z_2015-10-02T00:00:00.000Z_2015-11-17T14:07:34.927Z",
      "offset" : 0,
      "event" : {
        "timestamp" : "2015-10-01T08:00:00.250Z",
        "date" : "2015-10-01T08:00:00.250000",
        "stream_name" : "default",
        "data" : "3.29",
        "config_id" : "f1522d7e2ba620aa12bd3df4b7818e980fc22e9a",
        "count" : 1
      }
    }, {
      "segmentId" : "logdb_data_2015-10-01T00:00:00.000Z_2015-10-02T00:00:00.000Z_2015-11-17T14:07:34.927Z",
      "offset" : 1,
      "event" : {
        "timestamp" : "2015-10-01T08:00:00.542Z",
        "date" : "2015-10-01T08:00:00.542000",
        "stream_name" : "read_time",
        "data" : "149012.0",
        "config_id" : "ff5141f8abcd042d9d98d7ba1aee0685cb75c933",
        "count" : 1
      }
    }, {
      "segmentId" : "logdb_data_2015-10-01T00:00:00.000Z_2015-10-02T00:00:00.000Z_2015-11-17T14:07:34.927Z",
      "offset" : 2,
      "event" : {
        "timestamp" : "2015-10-01T08:00:00.542Z",
        "date" : "2015-10-01T08:00:00.542000",
        "stream_name" : "read_bytes",
        "data" : "2.30724608E8",
        "config_id" : "ff5141f8abcd042d9d98d7ba1aee0685cb75c933",
        "count" : 1
      }
    }, {
      "segmentId" : "logdb_data_2015-10-01T00:00:00.000Z_2015-10-02T00:00:00.000Z_2015-11-17T14:07:34.927Z",
      "offset" : 3,
      "event" : {
        "timestamp" : "2015-10-01T08:00:00.542Z",
        "date" : "2015-10-01T08:00:00.542000",
        "stream_name" : "read_count",
        "data" : "21975.0",
        "config_id" : "ff5141f8abcd042d9d98d7ba1aee0685cb75c933",
        "count" : 1
      }
    }, {
      "segmentId" : "logdb_data_2015-10-01T00:00:00.000Z_2015-10-02T00:00:00.000Z_2015-11-17T14:07:34.927Z",
      "offset" : 4,
      "event" : {
        "timestamp" : "2015-10-01T08:00:00.542Z",
        "date" : "2015-10-01T08:00:00.542000",
        "stream_name" : "write_time",
        "data" : "3.62195292E8",
        "config_id" : "ff5141f8abcd042d9d98d7ba1aee0685cb75c933",
        "count" : 1
      }
    } ]
  }
} ]

See that the "data" dimension value is string (apparently even as stringified scientific notation for some?), although it was ingested as float. Why is that?

Oh, forgot, I'm using Druid 0.8.1.

Great question. The simple answer is "all dimensions are strings"
In your initial json you have specified the data field as float values, but specify data as a dimension (instead of making a metric off of it). Internally the logic goes "Ok, this is a dimension... make it a string like all dimensions are, then store it". As such it converts the value of the data field into a string, and stores it.

Thanks for the response!
It was kinda expected answer, in fact I have found the answer in the docs as well: http://druid.io/docs/latest/ingestion/schema-design.html (BTW: The paragraph is not properly formatted, I think? Maybe that's why I've missed it the first time).
Anyway, this same page says that "Metrics are fields that can be aggregated". So the question is: Can metrics be not aggregated? If not, then am I right that using a metric of type doubleSum and then doing a select on it will in fact return the value of the item (sum of one item = item value)?
What would be the performance cost of selecting such metric, as opposed to selecting a dimension (regardless of my need to convert it later)?

Why are int's not part of the numeric dimensions?

BTW: I completely forgot about this issue, sorry. But with the inclusion of numeric dimensions, it can be closed, as far as I'm concerned.

Select query is now deprecated in favor of scan


Allow passing holidays with each invocation.

Modified code, test and documentation to allow passing a holiday or array of holidays with each invocation.  This is particularly useful when dealing with potentially different regional holidays during each invocations.

Wow... I like this solution to a problem I've had (calculating backwards after snow days have happened), and it was less impactful that I would have considered.
It has a merge conflict with another pull I just merged, but if you resolve that it'll go into the next version!
Thanks for the first-time commit!  Don't forget to add yourself as a contributor to the readme!

We recently had a problem with a local holiday in our region that does not exist in other regions of Germany. It would be solvable with BusinessTime::Config.with but we were not aware of that method and the solution implemented here is less verbose.
Inspired by this I thought of an direct integration of the holidays gem into business_time. But I am not sure whether you would be up for it @bokmann? Reading the Not-Todo section and the following one about stability and change suggest rather not. But I thought I'd ask first before considering doing it in a fork.

Do you think this could be merged, please?

Do you think this could be merged, please?

@Laykou This PR has merge conflicts that would need to be resolved first.

@mstate Would you be willing to resolve the conflicts, please?

I took a stab at resolving the conflicts in https://github.com/bokmann/business_time/pull/217


get kernel panic .after reboot pc.

hey. help me i get kernel. when i boot direct from hard drive. when i boot with usb it get no error,
Pc report.zip

Please provide an image showing the error

Show me full screen

Send me your config.plist

config.plist.zip

Try it config.plist.zip

Problem is fixed but slow booting. Can you please fix it for me?


Bump pg_lakehouse to the latest release

v0.9.0 was released yesterday and some new functions are used in the documentation, etc.
Getting the latest version in trunk for our use.

Learning not to "tidy up" older version numbers in my pushes here.


Add logging and correct some mistakes [ECR-3620]

Added logging and made some corrections.

What is standard output destination for this logging library? Does it need some actions from the user to enable/configure it?

What is standard output destination for this logging library? Does it need some actions from the user to enable/configure it?

Yes, user should configure it with logger.basicConfig.
This is not an application, but a library, and thus we don't assume which format user wants the log to be in.
On the end side, user can configure logger as he wants (log to console/file, set the level, etc).

This is not an application, but a library, and thus we don't assume which format user wants the log to be in.
On the end side, user can configure logger as he wants (log to console/file, set the level, etc).

@popzxc was just curious about logging configuration for exonum-launcher, it might be useful sometimes.

Yeah, that'll be a follow-up.


Pluralization of verbs

The plural form for word "is" is "ises" instead of "are".

After giving this some thought I believe the current behavior should be left as is.
My reasoning is that there is an undocumented assumption that English.plural() method works with nouns only. This can be seen in the implementation of the test (https://github.com/atteo/evo-inflector/blob/master/src/test/java/org/atteo/evo/inflector/EnglishInflectorTest.java#L60).
This is also what people usually expect. If you have "one is" then you have "multiple ises". "Multiple are" does not sound right.
That said I would consider adding English.pluralOfVerb() if that turns out feasible.

Sure, that's fine for me. :+1:

adding English.pluralOfVerb() would be superb, i ran into the same problem with the "ises"


Fix missing CFBundleVersion when built with Carthage (Reconfigured the whole project as Universal Target)

Fixes #106
See Carthage/Carthage#517 for details.
The test target setting was causing unnecessary build for AsyncTest scheme.
AsyncTest/Info.plist's CFBundleVersion is "$(CURRENT_PROJECT_VERSION)",
which ended-up with empty string ("") because AsyncTest/Async target's
CURRENT_PROJECT_VERSION is empty string ("").
That means all carthage users had been using the wrong target.
Scary...

Current coverage is 97.79% (diff: 100%)

No coverage report found for master at b7cde33.

Powered by Codecov. Last update b7cde33...5723077

Created new xcodeproj using swift package generate-xcodeproj in ce7a066.

Fixing podspec and realized...
Why does Async not support watchOS 2.* ?

Sorry guys, I rebased a lot. It should be good to go now.
I recreated the whole xcodeproj, so it needs to be tested.
Other than that, carthage build is now working correctly for CFBundleVersion.
Async $ carthage build --no-skip-current
Async $ for i in `find Carthage/Build/ -name "*plist"` ;do result=`plutil -p ${i}|grep CFBundleVersion`;echo "$result" ${i}; done
  "CFBundleVersion" => "1.0" Carthage/Build//iOS/Async.framework/Info.plist
  "CFBundleVersion" => "1.0" Carthage/Build//iOS/Async.framework.dSYM/Contents/Info.plist
  "CFBundleVersion" => "1.0" Carthage/Build//Mac/Async.framework/Versions/A/Resources/Info.plist
  "CFBundleVersion" => "1.0" Carthage/Build//Mac/Async.framework.dSYM/Contents/Info.plist
  "CFBundleVersion" => "1.0" Carthage/Build//tvOS/Async.framework/Info.plist
  "CFBundleVersion" => "1.0" Carthage/Build//tvOS/Async.framework.dSYM/Contents/Info.plist
  "CFBundleVersion" => "1.0" Carthage/Build//watchOS/Async.framework/Info.plist
  "CFBundleVersion" => "1.0" Carthage/Build//watchOS/Async.framework.dSYM/Contents/Info.plist

Can you split this in to single purpose pull requests?

@duemunk Thanks for reviewing.
IMHO, this is actually a single purpose PR. All of this structure change is needed for Carthage compatibility.

I've (finally) taken a look at it locally :)

Why is Source renamed to Sources
Why have the tests been moved to the Carthage project?
The project in AsyncTest/Async.xcodeproj doesn't work anymore?

Thanks for feedback!

Why is Source renamed to Sources

SwiftPM's generate-xcodeproj command imports all source files into a group named Sources on xcodeproj. I renamed the physical directory name before running generate-xcodeproj command to avoid confusion.

Why have the tests been moved to the Carthage project?

As mentioned in Carthage/Carthage#517, carthage tries to build every xcodeproj. So having multiple xcscheme shared is troublesome.
As I mentioned at top, this is what happened for CFBundleVersion's value this time.

AsyncTest/Info.plist's CFBundleVersion is "$(CURRENT_PROJECT_VERSION)",
which ended-up with empty string ("") because AsyncTest/Async target's
CURRENT_PROJECT_VERSION is empty string ("").

Maybe setting CURRENT_PROJECT_VERSION value solves this temporarily, but I thought I should resolve the root cause to avoid any similar issues in future.
This is why I moved everything into a single xcodeproject.
This is what SwiftPM does by default, too.

The project in AsyncTest/Async.xcodeproj doesn't work anymore?

No, it does not. I deleted it and merged it into ./Async.xcodeproj using swift package generate-xcodeproj command.
This PR indeed looks big, but all I did is pretty simple straight forward.

Setup directory structure for SwiftPM and swift package generate-xcodeproj (fa495c790238fec3b254ced2b77fe5b451a12370)
Add missing setup to make it a Universal Library (4eea5fa8d75c95af1f691683d9b48f7ac6b2278e)
Fix for CI and CocoaPods, etc

🚢

Thanks for your work @toshi0383! Sorry for not being more responsive. Also, you clearly know what you're doing, I just couldn't follow right away :)


Validate personas for Techne 2.0 website

In order to don't repeat the mistakes we did for the Techne 1.0 website, we should validate the user needs and expectations towards the website, before starting on the UX & Design.

I have just send out this questionnaire to the team to get final feedback. After this, Hana will send out the survey to our user personas to collect feedback.

Looks like the survey wasn't very fruitful. We reminded the potential users 3 times and there were only 11 participating. 5 out of 11 only completed the survey. I am attaching the results here, too.

Responses_All_170828.pdf

Overall outcome:

Main Persona: (Full-stack) developer
no-one came from an external link to the techne.yaas.io-Site
100% (= 6 people) looked for Components, 66.6% (= 4 people) looked for Guidelines

3 out of 3 people disagreed with:

"I think that I'd need a technical guide to be able to use the Technè content."
2 out of 3 people disagreed with:
"I would imagine that most people would find what they are looking for on the Technè website very quickly."
"I felt very confident using the Technè website."

"What did you need to achieve the above goals?":

I need proper examples, live examples if that's possible! It's a shame that some components, like select input is barely explained. Just pasting html is not enough as I don't believe, that these components were not tested in web app env
nothing, example was there
Click a lot

"Were you ultimately successful in using Technè to achieve your goals?"

Only 50% said YES

"Did anything about the Technè site make it harder that it needed to be to achieve your goals?"

no, the elements I used it wasn't hard
The components are not on a single page (like bootstrap Doku) so each component needs a roundtrip

"Are there any other UI guidelines websites you currently use or have visited?"

Bootstrap
Fiori & Apple (Person said: "Techne is easier")
Google Material Design

"What was the main thing that stopped you from achieving your goal?"

Examples, examples, examples. In the end I got it, but it was way to much hassle. And it's not like, that I have no experience with bootstrap, I just find live examples useful
It is hard to distinguish between patterns and components, when looking for certain elements. SO I had to click through everything before finding the right thing. Sometimes it wasn't even there.
I had to click through a lot

"If you could wave a magic wand and have anything, what would you change that would have made your tasks easier?"

pssssssst, examples that are live
put everything on one page and have a good search
Follow bootstrap or devportal or any other modern docu site with approach that the whole content for one topic is displayed on one page. Loke all components or all patterns on one page

@denisewildner I copied your assessment to a WIKI page so this isn't lost once the story is closed.
https://github.com/SAP/techne/wiki/Survey-Results

The results are documented on the wiki, thanks Zack, we can close this now and use the info when we return the focus to the website


Return types wrong for load_contents_async and similar methods

With #171 fixed, ts-for-gir now generates wrong return types for some promisified overloads which have a tuple return type with a boolean, such as Gio.load_contents_async.
Specifically, Gio.File.load_contents_async has this signature:
load_contents_async(cancellable?: Cancellable | null): Promise<[boolean, Uint8Array, string]>;

But it actually returns a Promise<[Uint8Array, string]>.  You can try this yourself with this Gjs snippet which will dump a two-element array under gjs -m:
import Gio from "gi://Gio?version=2.0";

Gio._promisify(Gio.File.prototype, "load_contents_async");
const file = Gio.File.new_for_uri(import.meta.url);
let result = await file.load_contents_async(null);
console.dir(result);

That's because Gio._promisify explicitly drops the frist element of array return values if it's true and the array has more than one element.  That's also documented at https://gitlab.gnome.org/GNOME/gjs/-/blob/master/doc/Overrides.md#gio_promisifyprototype-startfunc-finishfunc
I presume the rationale is that this return value is redundant, because Gio uses this pattern to indicate success or error:  In C which only has a single return value you pass mutable pointers to get the contents and the error, and the return value of true or false tells you which pointer to look at afterwards. Gjs however already handles this and throws an exception if the function return false, so in a Gjs program you'd never see a false return value.
I'm not sure this can be typed soundly, but I think a reasonable approximation would be to just drop the first component of a tuple return value if its type is boolean and the array has more than one element.

@swsnr Thank you for the detailed bug report, I think I was able to fix the bug quickly. I'm publishing the types right now on NPM. You are welcome to test it again :)

@JumpLink Thanks for the quick fix :pray: Works perfect now :tada:


how to set color to Bubble

how to set color to Bubble
thank you .

i set color for Bubble  from ZHModelData file .


CRFCut Sentence Tokenize

CRFCut -- Thai sentence segmentation with conditional random field, default trained on TED dataset
ORCHID - space-correct accuracy 87% vs 95% state-of-the-art (Zhou et al, 2016; https://www.aclweb.org/anthology/C16-1031.pdf)
TED dataset - space-correct accuracy 82%
See development notebooks at https://github.com/vistec-AI/ted_crawler;
POS features are not used due to unreliable POS tagging available

Hello @cstorm125! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file pythainlp/tokenize/__init__.py:

Line 187:80: E501 line too long (86 > 79 characters)
Line 228:80: E501 line too long (100 > 79 characters)
Line 234:80: E501 line too long (103 > 79 characters)

In the file pythainlp/tokenize/crfcut.py:

Line 3:80: E501 line too long (98 > 79 characters)
Line 4:80: E501 line too long (125 > 79 characters)
Line 24:80: E501 line too long (92 > 79 characters)
Line 26:80: E501 line too long (89 > 79 characters)
Line 27:80: E501 line too long (81 > 79 characters)
Line 32:80: E501 line too long (84 > 79 characters)
Line 48:80: E501 line too long (102 > 79 characters)
Line 52:80: E501 line too long (94 > 79 characters)

In the file tests/test_tokenize.py:

Line 237:80: E501 line too long (90 > 79 characters)
Line 242:80: E501 line too long (109 > 79 characters)
Line 243:80: E501 line too long (101 > 79 characters)


Add a -trace option to quicserver to enable tracing of the communication

Trace output of the communication with the client is dumped to stderr if
the -trace options is supplied

CI looks relevant

Fixup pushed addressing CI failure.

This pull request is ready to merge

This was merged to master.


Token, User
in src/mapping.ts(9,3)

ERROR TS2305: Module 'generated/schema' has no exported member 'User'.

Token, User
       ~~~~
in src/mapping.ts(9,10)

ERROR TS2304: Cannot find name 'Token'.

let token = Token.load(event.params.tokenId.toString());
            ~~~~~
in src/mapping.ts(13,15)

ERROR TS2304: Cannot find name 'Token'.

  token = new Token(event.params.tokenId.toString());
              ~~~~~
in src/mapping.ts(15,17)

ERROR TS2339: Property 'creator' does not exist on type 'i32'.

  token.creator = event.params.to.toHexString();
        ~~~~~~~
in src/mapping.ts(16,11)

ERROR TS2339: Property 'tokenID' does not exist on type 'i32'.

  token.tokenID = event.params.tokenId;
        ~~~~~~~
in src/mapping.ts(17,11)

ERROR TS2339: Property 'createdAtTimestamp' does not exist on type 'i32'.

  token.createdAtTimestamp = event.block.timestamp;
        ~~~~~~~~~~~~~~~~~~
in src/mapping.ts(18,11)

ERROR TS2339: Property 'contentURI' does not exist on type 'i32'.

  token.contentURI = tokenContract.tokenURI(event.params.tokenId);
        ~~~~~~~~~~
in src/mapping.ts(21,11)

ERROR TS2339: Property 'metadataURI' does not exist on type 'i32'.

  token.metadataURI = tokenContract.tokenMetadataURI(event.params.tokenId);
        ~~~~~~~~~~~
in src/mapping.ts(22,11)

ERROR TS2339: Property 'owner' does not exist on type 'i32'.

token.owner = event.params.to.toHexString();
      ~~~~~
in src/mapping.ts(24,9)

ERROR TS2339: Property 'save' does not exist on type 'i32'.

token.save();
      ~~~~
in src/mapping.ts(25,9)

ERROR TS2304: Cannot find name 'User'.

let user = User.load(event.params.to.toHexString());
           ~~~~
in src/mapping.ts(27,14)

ERROR TS2304: Cannot find name 'User'.

  user = new User(event.params.to.toHexString());
             ~~~~
in src/mapping.ts(29,16)

ERROR TS2339: Property 'save' does not exist on type 'i32'.

  user.save();
       ~~~~
in src/mapping.ts(30,10)

ERROR TS2304: Cannot find name 'Token'.

let token = Token.load(event.params._tokenId.toString());
            ~~~~~
in src/mapping.ts(35,15)

ERROR TS2339: Property 'contentURI' does not exist on type 'i32'.

token.contentURI = event.params._uri;
      ~~~~~~~~~~
in src/mapping.ts(37,9)

ERROR TS2339: Property 'save' does not exist on type 'i32'.

token.save();
      ~~~~
in src/mapping.ts(38,9)

ERROR TS2304: Cannot find name 'Token'.

 let token = Token.load(event.params._tokenId.toString());
             ~~~~~
in src/mapping.ts(42,16)

ERROR TS2339: Property 'metadataURI' does not exist on type 'i32'.

 token.metadataURI = event.params._uri;
       ~~~~~~~~~~~
in src/mapping.ts(44,10)

ERROR TS2339: Property 'save' does not exist on type 'i32'.

 token.save();
       ~~~~
in src/mapping.ts(45,10)

✖ Failed to compile subgraph: Failed to compile data source mapping: 20 compile error(s)
Error: Failed to compile data source mapping: 20 compile error(s)
 at Compiler._compileDataSourceMapping (/usr/local/lib/node_modules/@graphprotocol/graph-cli/src/compiler/index.js:307:13)
 at /usr/local/lib/node_modules/@graphprotocol/graph-cli/src/compiler/index.js:216:20
 at updateInDeepMap (/usr/local/lib/node_modules/@graphprotocol/graph-cli/node_modules/immutable/dist/immutable.js:1971:22)
 at updateInDeepMap (/usr/local/lib/node_modules/@graphprotocol/graph-cli/node_modules/immutable/dist/immutable.js:1980:23)
 at updateInDeepMap (/usr/local/lib/node_modules/@graphprotocol/graph-cli/node_modules/immutable/dist/immutable.js:1980:23)
 at Map.updateIn (/usr/local/lib/node_modules/@graphprotocol/graph-cli/node_modules/immutable/dist/immutable.js:1278:26)
 at /usr/local/lib/node_modules/@graphprotocol/graph-cli/src/compiler/index.js:215:24
 at /usr/local/lib/node_modules/@graphprotocol/graph-cli/node_modules/immutable/dist/immutable.js:3016:46
 at List.__iterate (/usr/local/lib/node_modules/@graphprotocol/graph-cli/node_modules/immutable/dist/immutable.js:2206:13)
 at IndexedIterable.mappedSequence.__iterateUncached (/usr/local/lib/node_modules/@graphprotocol/graph-cli/node_modules/immutable/dist/immutable.js:3015:23)
UNCAUGHT EXCEPTION: Error: The AssemblyScript compiler crashed when compiling this file: 'src/mapping.ts'
Suggestion: try to comment the whole file and uncomment it little by little while re-running the graph-cli until you isolate the line where the problem happens.
Also, please contact us so we can make the CLI better by handling errors like this. You can reach out in any of these links:
- Discord channel: https://discord.gg/eM8CA6WA9r
- Github issues: https://github.com/graphprotocol/graph-cli/issues

Hello @v3rangar it seems that your .graphql file doesn't have the types you're expecting in the mapping ones. After you add them (such as User) make sure you to run  graph codegen again :slightly_smiling_face:

Hello @v3rangar it seems that your .graphql file doesn't have the types you're expecting in the mapping ones. After you add them (such as User) make sure you to run  graph codegen again 🙂

hi brother thanks to reply
after re codegen
Version Label (e.g. v0.0.1) · v0.0.1
Skip migration: Bump mapping apiVersion from 0.0.1 to 0.0.2
Skip migration: Bump mapping apiVersion from 0.0.2 to 0.0.3
Skip migration: Bump mapping apiVersion from 0.0.3 to 0.0.4
Skip migration: Bump mapping apiVersion from 0.0.4 to 0.0.5
Skip migration: Bump mapping specVersion from 0.0.1 to 0.0.2
✔ Apply migrations
✔ Load subgraph from subgraph.yaml
Compile data source: Token => build/Token/Token.wasm
✔ Compile subgraph
Copy schema file build/schema.graphql
Write subgraph file build/Token/abis/Token.json
Write subgraph manifest build/subgraph.yaml
✔ Write compiled subgraph to build/
Add file to IPFS build/schema.graphql
.. QmRdU9R5Peg9zeDaose3uMmDqnzDc2sYdNUisz3dUXE1Su
Add file to IPFS build/Token/abis/Token.json
.. QmRHhpdZ6RKT573ko2oC976V7WyZ86xkqV4xgeUVDx5heb
Add file to IPFS build/Token/Token.wasm
.. QmSvyrxMmhaXkUWz8GK874Hpv6m9deUfyq3ENTnhsc9b4v
✔ Upload subgraph to IPFS
Build completed: Qma3Qgg1zQYDfFXxqNnccmTQZhKt2iuz9dX9ZFDRwvpejd
✖ Failed to deploy to Graph node https://api.studio.thegraph.com/deploy/: Subgraph not found.
everything is fine but this error   ✖ Failed to deploy to Graph node https://api.studio.thegraph.com/deploy/: Subgraph not found.
how to solve it???

Before running graph deploy you must run graph create to register the subgraph name.

thanks bro it is solved @otaviopace