MaterialPageRoute barrierColor is black when pushing new routes #2

Steps to reproduce
it's basically trying to get this issue, which was closed, re-opened: https://github.com/flutter/flutter/issues/115995
i dont see any other android non-flutter apps having those kind of jarring transitions. so i dont believe that "is expected behavior"
besides, it looks horrible
Expected results
a pleasant transition when navigating between MaterialPageRoutes
Actual results
the transition when navigating between MaterialPageRoutes is jarring and unappealing. almost looks like a graphical glitch
Code sample
see the original report. also it can be clearly seen in the skeleton application template of flutter create
Screenshots or Video
see the original report
Logs
No response
Flutter Doctor output
Doctor output
[√] Flutter (Channel beta, 3.22.0-0.1.pre, on Microsoft Windows [Version 10.0.22631.3296], locale en-US)
    • Flutter version 3.22.0-0.1.pre on channel beta at X:\.sdk\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 29babcb32a (3 days ago), 2024-04-03 17:17:04 -0500
    • Engine revision 97550907b7
    • Dart version 3.4.0 (build 3.4.0-282.1.beta)
    • DevTools version 2.34.2

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at X:\.sdk\android
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = X:\.sdk\android
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0--11185874)
    • All Android licenses accepted.

[X] Chrome - develop for the web (Cannot find Chrome executable at .\Google\Chrome\Application\chrome.exe)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[X] Visual Studio - develop Windows apps
    X Visual Studio not installed; this is necessary to develop Windows apps.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[√] Android Studio (version 2023.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.9+0--11185874)

[√] VS Code (version 1.88.0)
    • VS Code at C:\Users\matte\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.86.0

[√] Connected device (3 available)
    • KB2003 (mobile)   • 9a1ac6f9 • android-arm64  • Android 14 (API 34)
    • Windows (desktop) • windows  • windows-x64    • Microsoft Windows [Version 10.0.22631.3296]
    • Edge (web)        • edge     • web-javascript • Microsoft Edge 123.0.2420.81

[√] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

@wildsylvan This seems to be the default behavior on Android as I see the similar black "background" when pushing to new activity on Android native:

Demo
https://github.com/flutter/flutter/assets/104349824/49f1a0b9-8f37-4060-88e1-5e097fa3fd5a

i dont see any other android non-flutter apps having those kind of jarring transitions.

Could you share an example?

like for example: google phone, google messages, google contacts, google photos. the transitions during the navigations are smooth not jarring. im sure material design 3 wouldn't recommend a transition like the one you shown in the video (which looks like a bug even tho it isn't).
here's a vid of the bad transitions in the skeleton flutter template (it's hard to fully appreciate them in video but on the screen they look horrible):
https://github.com/flutter/flutter/assets/19886441/0d400809-6d0b-422e-8637-1aa8bb634909

I looked at M3 specs and found this, the barrierColor looks similar to Flutter.
https://m3.material.io/styles/motion/transitions/transition-patterns#16ba9505-e33a-47e6-862d-d341b9a361fd

Flutter
M3 specs

Flutter sample code
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';

void main() {
  timeDilation = 5;
  runApp(
    const MyApp(),
  );
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      home: ScreenA(),
    );
  }
}

class ScreenA extends StatelessWidget {
  const ScreenA({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () {
                Navigator.of(context).push(
                  MaterialPageRoute(
                    builder: (ctx) => const ScreenB(),
                  ),
                );
              },
              child: const Text('Go to ScreenB'),
            ),
          ],
        ),
      ),
    );
  }
}

class ScreenB extends StatelessWidget {
  const ScreenB({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () {
                Navigator.of(context).pop();
              },
              child: const Text('Back to ScreenA'),
            ),
          ],
        ),
      ),
    );
  }
}

So I think it's working as expected. If you still believe it's incorrect, please share M3 specs you are referring to.

the material 3 (on the right) looks nothing like the one on the left...

I and my colleagues have also reviewed this but still couldn't see the difference you're observing. The demo with M3 specs above includes animation (hero) while Flutter's only zoom page transition, but they both show barrier color.
To clarify the issue, please be more specific about the bug you are reporting (barrierColor or transition animation?). Giving a specific native example with the same parameters (animation type, color, etc) would also be helpful.

ok i think it's a compound issue. i anyalyzed several google apps (android 14): phone, messages, gmail, contacts, photos, keep notes, drive, calendar, files, wallet.
the transition animations are not like the one in flutter. they're much more detailed. like in notes if you tap on a note it expands to fill the screen (and behind it there's a medium scrim to cover the previous page). but the animation is deliberate and it's really clear what's happening. the scrim is not a flash of black that instanly disappears.
i must say many of the apps listed above are not using zooming transitions animations on navigation as well.
anyway i think either the zooming animations should be reworked (they're defintely too fast, for one) to make it look less like your gpu is dying and more in line with the material apps google is producing or they should be swapped altogether for something like the phone or file app is using (i.e. slide in), much more pleasant in my opinion.

To compare this, I do the following setup:

Keep Notes: I have slowed down animation with Developer Options by going to three scale settings (Window, Transition and Animator scales) and changing all to 5x
Flutter app: a demo of MaterialPageRoute on page transition with setting timeDilation = 10.

Keep Notes
Flutter

Sample code Flutter
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';

void main() {
  timeDilation = 10;
  runApp(
    const MyApp(),
  );
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      home: ScreenA(),
    );
  }
}

class ScreenA extends StatelessWidget {
  const ScreenA({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () {
                Navigator.of(context).push(
                  MaterialPageRoute(
                    builder: (ctx) => const ScreenB(),
                  ),
                );
              },
              child: const Text('Go to ScreenB'),
            ),
            ListTile(
              leading: const Hero(
                tag: 'hero-rectangle',
                child: BoxWidget(size: Size(50.0, 50.0)),
              ),
              onTap: () => _gotoDetailsPage(context),
              title: const Text(
                'Tap on the icon to view hero animation transition.',
              ),
            ),
          ],
        ),
      ),
    );
  }

  void _gotoDetailsPage(BuildContext context) {
    Navigator.of(context).push(MaterialPageRoute<void>(
      builder: (BuildContext context) => Scaffold(
        appBar: AppBar(
          title: const Text('Second Page'),
        ),
        body: const Center(
          child: Hero(
            tag: 'hero-rectangle',
            child: BoxWidget(size: Size(200.0, 200.0)),
          ),
        ),
      ),
    ));
  }
}

class BoxWidget extends StatelessWidget {
  const BoxWidget({super.key, required this.size});

  final Size size;

  @override
  Widget build(BuildContext context) {
    return Container(
      width: size.width,
      height: size.height,
      color: Colors.blue,
    );
  }
}

class ScreenB extends StatelessWidget {
  const ScreenB({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            ElevatedButton(
              onPressed: () {
                Navigator.of(context).pop();
              },
              child: const Text('Back to ScreenA'),
            ),
          ],
        ),
      ),
    );
  }
}

It can be seen that the animation of the note detail page will slow down a bit and have inertia when opening, looking smoother. I will mark this as a proposal to have other's input.

@wildsylvan This seems to be the default behavior on Android as I see the similar black "background" when pushing to new activity on Android native:
Demo
Screen.Recording.2024-04-08.at.17.23.14.mov

i dont see any other android non-flutter apps having those kind of jarring transitions.

Could you share an example?

Apologies, I have a question unrelated to this issue. Why does MaterialPageRoute have a default transition animation that is different from the native Android? Your video shows a sliding effect, but MaterialPageRoute has a zooming effect.

gmail probably has the most similar transition to flutter (when opening an email from the email list). but still doesn't look as bad as flutter. and on the back gesture, you can clearly see the full screen email going back to a list item.

You can use the container transform from the animations package


Un-correct  parse data with Joi schema

[x] Before posting an issue, read the FAQ and search the previous issues.

Description
function superValidate  return not correct data.
id was undefined as result of superValidate  . Note this occurred with id = 7

Schema:

It can resolve by use parseInt:

But with id = 79, it's not happed

Can someone give me the root cause.
Thank alot
If applicable, a MRE
Use this template project to create a minimal reproducible example that you can link to here: https://sveltelab.dev/github.com/ciscoheat/superforms-examples/tree/zod (right click to open in a new tab)

It's could be because since id is not required in the schema, when it failed validation it returned the default value for a non-required field, in this case undefined.

Thank for your reply. But i see your explain not show the root cause.
Could you reason why validate with '7' but not with '79'

Not really, can you make a MRE so I can take a closer look?


Create SMIP for Tortoise Beacon sync

To validate blocks when joining the network, nodes need to know the tortoise beacon value. It needs to be synced between nodes. The SMIP should contain a description of this process.

https://github.com/spacemeshos/SMIPS/issues/52


OnBeforeConfirmDownloadShipmentAlsoQst(IsHandled);

Please include the following with each issue:

Describe the bug
Hi

In BC I would like to hide the Dialog which asks to download the shipment document after we use post and send.

Right now there is no integration event which allows me to hide this Dialog.

To Reproduce
Steps to reproduce the behavior:

Go to Sales Order
Create new Sales Order
Post and Send
Ship and Invoice
-> after the posting information the following Dialog pops up:
You can also download the Sales - Shipment document now. Alternatively, you can access it from the Posted Sales Shipments window later.\Do you want to download the Sales - Shipment document now?
Yes/No
Go to 'Codeunit 80 Sales-Post'
"if not ConfirmManagement.GetResponseOrDefault(DownloadShipmentAlsoQst, true)"
begin
OnSendSalesDocument(Invoice and Ship, SuppressCommit);
if Invoice then begin
SalesInvHeader.Get("Last Posting No.");
SalesInvHeader.SetRecFilter;
SalesInvHeader.SendProfile(DocumentSendingProfile);
end;
if Ship and Invoice and not OfficeManagement.IsAvailable then
if not ConfirmManagement.GetResponseOrDefault(DownloadShipmentAlsoQst, true) then
exit;
if Ship then begin
SalesShipmentHeader.Get("Last Shipping No.");
SalesShipmentHeader.SetRecFilter;
SalesShipmentHeader.SendProfile(DocumentSendingProfile);
end;
end;
3. Expected behavior
An Integration Event in order to hide the DownloadShipmentAlsoQst Dialog or Workaround.

Versions:
AL Language: v7.1.441584
Visual Studio Code: March 2021 (version 1.55)
Business Central: 17.5.22499.22680

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Checks for cols in colnames 2x

In many of the functions in Transformations a stop error occurs if expected_cols in .data == FALSE, and then the main function occurs on the conditional that this is TRUE. I wouldn't expect this to change, is it adequate to just check the first time? If not could these be combined, i.e., if FALSE stop() else {continue function}?

Yes I agree it looks like this bit of code is repetitive

I can try to clean this up & maybe tackle this issue at the same time: https://github.com/USEPA/TADA/issues/95
I probably won't get to this for a few weeks though. If you have time and are interested feel free to make the changes. Thanks for submitting the issue!

Easy enough fix and I have it on a branch already - I think structuring as a check makes it more uniform with others and better transitions into a generalized solution (i.e. issue #152 ).


Add more error types in modify_exceptions

The modify_exceptions decorator accepts TypeError and ValueError only.
https://github.com/ploomber/core/blob/1ece1158a38cac02e4f126c07d70bbcb4ea39338/src/ploomber_core/exceptions.py#L96
Many of the JupySQL errors are of different types , like SQLAlchemy ProgrammingError, OperationalError , etc. Decorating functions with modify_exceptions is not working in these cases.
Should we add these more specific error types ?

We encountered this same problem recently. I released 0.2.10 with a fix, you can now catch the exception, add modify_exception and it should work, see the second example here: https://ploomber-core.readthedocs.io/en/latest/exceptions.html#catching-generic-exceptions


BasicModelInterface.jl

Hi! I know this repo is only an hour old and still empty, but I was excited to see it pop up on my feed, together with https://github.com/csdms/bmi-example-julia.
A few years ago I made https://github.com/Deltares/BasicModelInterface.jl, and at Deltares we've been using it, for instance in https://github.com/Deltares/Wflow.jl and https://github.com/Deltares/ModflowInterface.jl.
I haven't really been seeking CSDMS adopting actively, besides casually mentioning it https://github.com/csdms/bmi-python/issues/6, so I'm not sure you are aware of this registered Julia package. As I mention in the package's readme, I'm open for collaboration on this.

Ok I see, great. I'm not aware of the others yet. Let me know if you want me to clarify any design choices.

I'll close this in favour of https://github.com/csdms/bmi/issues/108.


CON-4773 - Use Interfaces instead of services for a better third part…

…y plugin compatibility

Coverage remained the same at 34.458% when pulling 9de5e3a2bbc01fbce6a3ad8a80f465dcfdf90ed1 on CON-4773 into 58f3c0eb770ded514cf851f97c6d2918e7c5cd88 on master.

Coverage remained the same at 34.458% when pulling 9de5e3a2bbc01fbce6a3ad8a80f465dcfdf90ed1 on CON-4773 into 58f3c0eb770ded514cf851f97c6d2918e7c5cd88 on master.


[8.x] Allow Remember Me cookie time to be overriden

We want to restrict how long a remember-me token will exist for certain guards. For usual web users, we want to allow them to be logged in forever, but for staff members, we want to expire the remember me token after 30 days.
With this PR, I've made it so you can add rememberMeTokenDuration to the guard in config/auth.php. If you do not provide this, it will maintain the same cookie expiration date which is 5 years.

I've made it so you can add rememberMeTokenDuration to the guard in config/auth.php.

Since rememberMeTokenDuration is renamed to remember, is this the allowed syntax?
'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
        'remember' => 43200,
    ],
    // ...
],

Hey @bryceandy, this is how I've got mine configured:
'guards' => [
     //...
     'admin' => [
            'driver' => 'session',
            'provider' => 'admin',
            'remember' => now()->addDays(30)->diffInMinutes(),
     ],
]

I'll send in a PR to docs, this evening 👍


Indexer Apibara of Launchpad

Fix indexer in the apps/indexer.
Improve backend routes in the apps/data-backend.
Needed for #44

Test all events with apibara indexer.

Modify the init Postgres if needed.

Change the events of the contracts if needed: Launchpad

Fix and finish indexer scripts:
buy-coin.js
pump-coin.js
deploy-coin.js

@

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a Full Stack blockchain Developer with expertise in Next.js, Nest.js, TypeScript, JavaScript, React, Node.js, Three.js, and Solidity. My journey with OnlyDust hackathons began at Edition 1, and I've since made 47 contributions across 11 projects. With my extensive experience on the OnlyDust platform (profile:  https://app.onlydust.com/u/Ugo-X), I've honed my skills in delivering quality solutions under pressure.
I bring a unique blend of technical proficiency and user-focused design to every project, whether it's crafting immersive 3D experiences or developing smart contracts. My track record shows I can adapt quickly and contribute effectively to diverse challenges.
As we surf through Edition 7, I'm excited to leverage my skills and hackathon experience to push the boundaries of blockchain development. I'm confident in my ability to tackle new challenges and drive innovation in this space.
How I plan on tackling this issue
Understood, I will approach this issue in the following steps:

Analyze the Current Indexer Implementation:

Examine the existing code in the apps/indexer directory to understand the current implementation.
Identify any issues or areas for improvement in the indexer functionality.
Review the integration between the indexer and the backend routes in the apps/data-backend directory.

Test All Events with the Apibara Indexer:

Set up a comprehensive test suite to verify the indexer's handling of all relevant events.
Use the Apibara indexer to index the events and ensure the data is being correctly processed and stored.
Identify any issues or edge cases in the event handling and indexing process.

Modify the Postgres Initialization (if needed):

Assess the current Postgres setup and schema used by the indexer and backend.
Determine if any changes or modifications are required to the Postgres initialization process to accommodate the indexer's needs.
Implement the necessary changes to the Postgres setup, ensuring a smooth integration with the indexer and backend.

Update the Events of the Launchpad Contracts (if needed):

Review the event definitions and handling in the Launchpad contracts.
Identify any changes or improvements that may be required to the contract events to better support the indexer's functionality.
Implement the necessary modifications to the contract events, ensuring backward compatibility and smooth transition.

Fix the Routes in the Data Backend:

Examine the existing routes in the apps/data-backend directory, focusing on their integration with the indexer.
Identify any issues or areas for improvement in the backend routes, such as performance, error handling, or data consistency.
Refactor and fix the problematic routes to ensure seamless integration between the indexer and the backend.

Testing and Validation:

Implement comprehensive unit tests to verify the correct behavior of the indexer and the backend routes.
Perform end-to-end testing to ensure the indexer and backend work together as expected, handling events and serving data correctly.
Validate the overall system's functionality, performance, and reliability under various scenarios.

Documentation and Knowledge Sharing:

Document the changes made to the indexer and backend, including any modifications to the Postgres setup or contract events.
Provide clear instructions on how to set up, configure, and maintain the updated indexer and backend components.
Share the knowledge and insights gained during the development process with the wider team to facilitate future maintenance and improvements.

By following this approach, I will thoroughly address the issues in the indexer and backend, ensuring the reliable and efficient processing of events and the seamless integration between the different components of the system. The focus will be on improving the overall stability, performance, and maintainability of the indexer and backend components.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a passionate and results-driven web developer, currently deepening my knowledge in web3 technologies, Cairo, and open-source development through Dojo Coding. My skill set includes expertise in JavaScript, React, HTML, CSS, C# with .NET Entity Framework, and more. I also have experience with tools like Git, GitHub, SQL Server, and Postman. My focus has been on building solid web applications, from task lists to full-fledged CRUD systems, with front-end, back-end, and database integration.
This will be my first contribution to the open-source ecosystem, and I am excited to learn and collaborate on innovative projects, particularly those involving Cairo.
How I plan on tackling this issue
to tackle this problem, I’d first review the indexer in apps/indexer and identify any issues. I’d then improve the backend routes in apps/data-backend for better organization and functionality. I’d test all events with the Apibara indexer to ensure correct behavior. If needed, I’d adjust the Postgres initialization and modify the contract events in Launchpad. Lastly, I’d verify and fix any backend routes related to the indexer to ensure smooth integration and functionality across the app.

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I have worked on something similar recently.
How I plan on tackling this issue
I will fix indexer indexer and optimize the backend routes.
Next, I will test the events with the Apibara test framework
Ref: https://github.com/fishonamos/strkindex/tree/apiv2

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I have worked on something similar recently.
How I plan on tackling this issue
I will fix indexer indexer and optimize the backend routes. Next, I will test the events with the Apibara test framework
Ref: https://github.com/fishonamos/strkindex/tree/apiv2

Gm! Do you have an ETA please?
The indexer is the main part please, doing other issue for the backend

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I am a Full Stack blockchain Developer with expertise in Next.js, Nest.js, TypeScript, JavaScript, React, Node.js, Three.js, and Solidity. My journey with OnlyDust hackathons began at Edition 1, and I've since made 47 contributions across 11 projects. With my extensive experience on the OnlyDust platform (profile: https://app.onlydust.com/u/Ugo-X), I've honed my skills in delivering quality solutions under pressure. I bring a unique blend of technical proficiency and user-focused design to every project, whether it's crafting immersive 3D experiences or developing smart contracts. My track record shows I can adapt quickly and contribute effectively to diverse challenges. As we surf through Edition 7, I'm excited to leverage my skills and hackathon experience to push the boundaries of blockchain development. I'm confident in my ability to tackle new challenges and drive innovation in this space.
How I plan on tackling this issue
Understood, I will approach this issue in the following steps:
1. **Analyze the Current Indexer Implementation**:

   * Examine the existing code in the `apps/indexer` directory to understand the current implementation.
   * Identify any issues or areas for improvement in the indexer functionality.
   * Review the integration between the indexer and the backend routes in the `apps/data-backend` directory.

2. **Test All Events with the Apibara Indexer**:

   * Set up a comprehensive test suite to verify the indexer's handling of all relevant events.
   * Use the Apibara indexer to index the events and ensure the data is being correctly processed and stored.
   * Identify any issues or edge cases in the event handling and indexing process.

3. **Modify the Postgres Initialization (if needed)**:

   * Assess the current Postgres setup and schema used by the indexer and backend.
   * Determine if any changes or modifications are required to the Postgres initialization process to accommodate the indexer's needs.
   * Implement the necessary changes to the Postgres setup, ensuring a smooth integration with the indexer and backend.

4. **Update the Events of the Launchpad Contracts (if needed)**:

   * Review the event definitions and handling in the Launchpad contracts.
   * Identify any changes or improvements that may be required to the contract events to better support the indexer's functionality.
   * Implement the necessary modifications to the contract events, ensuring backward compatibility and smooth transition.

5. **Fix the Routes in the Data Backend**:

   * Examine the existing routes in the `apps/data-backend` directory, focusing on their integration with the indexer.
   * Identify any issues or areas for improvement in the backend routes, such as performance, error handling, or data consistency.
   * Refactor and fix the problematic routes to ensure seamless integration between the indexer and the backend.

6. **Testing and Validation**:

   * Implement comprehensive unit tests to verify the correct behavior of the indexer and the backend routes.
   * Perform end-to-end testing to ensure the indexer and backend work together as expected, handling events and serving data correctly.
   * Validate the overall system's functionality, performance, and reliability under various scenarios.

7. **Documentation and Knowledge Sharing**:

   * Document the changes made to the indexer and backend, including any modifications to the Postgres setup or contract events.
   * Provide clear instructions on how to set up, configure, and maintain the updated indexer and backend components.
   * Share the knowledge and insights gained during the development process with the wider team to facilitate future maintenance and improvements.

By following this approach, I will thoroughly address the issues in the indexer and backend, ensuring the reliable and efficient processing of events and the seamless integration between the different components of the system. The focus will be on improving the overall stability, performance, and maintainability of the indexer and backend components.

Do you have an ETA please?

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I have worked on something similar recently.
How I plan on tackling this issue
I will fix indexer indexer and optimize the backend routes. Next, I will test the events with the Apibara test framework
Ref: https://github.com/fishonamos/strkindex/tree/apiv2

Gm! Do you have an ETA please?
The indexer is the main part please, doing other issue for the backend

ETA: Maximum: 1 - 2 days from now. Ready tommorow.

Is it a blocking issue? @MSghais

Is it a blocking issue? @MSghais

No, let's discuss it please!
Can you ping me also on Telegram: MSG_Encrypted. Also please join the AFK group

AFK

Ok. Replied you on TG. @FishonAmos

Is it a blocking issue? @MSghais

No, let's discuss it please! Can you ping me also on Telegram: MSG_Encrypted. Also please join the AFK group

Ok. Replied you on TG: FishonAmos


Implement DuckDB connector

This PR supports DuckDB as datasource. It provides Restful API to set initialization SQL and session SQL. And provide API to directly query DuckDB. Also, support using wire protocol to connect through Accio MDL.
Configuration
duckdb.connector.setting-dir: default etc/duckdb-connector
Init SQL
GET /v1/data-source/DuckDB/settings/init-sql
Get Init-SQL
INSTALL httpfs;
CREATE TABLE tpch.orders AS SELECT * FROM read_parquet('/path-to-file/orders.parquet');
CREATE TABLE tpch.customer AS SELECT * FROM read_parquet('/path-to-file/customer');

PATCH /v1/data-source/DuckDB/settings/init-sql
Run and Update Init-SQL (PATCH)
CREATE TABLE tpch.part AS SELECT * FROM read_parquet('/path-to-file/part.parquet');

Using this API, user can modify their DuckDB environment in runtime. Any SQL will be executed in DuckDB and append to the original init-SQL file for restarting server next time.
PUT /v1/data-source/DuckDB/settings/init-sql
Overwrite Init-SQL (PUT)
INSTALL httpfs;
CREATE TABLE tpch.orders AS SELECT * FROM read_parquet('/path-to-file/orders.parquet');
CREATE TABLE tpch.customer AS SELECT * FROM read_parquet('/path-to-file/customer');

Clean the current DuckDB environment and create a new DuckDB instance by the new init-SQL. The old init-SQL will be archived and replaced by the new one.
 It should be applied to all exist connection in pool.
PUT /v1/data-source/DuckDB/settings/session-sql
Overwrite session properties SQL (PUT)
SET s3_secret = 'xxxxx';
SET s3_accesskey = 'xxxx';

Something like overwrite init-SQL. It should clear all exist connection in pool.
Query
POST /v1/data-source/DuckDB/query
Query DuckDB directly
SELECT * FROM memory.tpch.orders LIMIT 2;

{
  "columns": [
    {
      "name": "o_orderkey",
      "type": "int4"
    },
    {
      "name": "o_custkey",
      "type": "int4"
    },
    {
      "name": "o_orderstatus",
      "type": "varchar"
    },
    {
      "name": "o_totalprice",
      "type": "numeric"
    },
    {
      "name": "o_orderdate",
      "type": "date"
    },
    {
      "name": "o_orderpriority",
      "type": "varchar"
    },
    {
      "name": "o_clerk",
      "type": "varchar"
    },
    {
      "name": "o_shippriority",
      "type": "int4"
    },
    {
      "name": "o_comment",
      "type": "varchar"
    }
  ],
  "rows": [
    [
      1,
      370,
      "O",
      172799.49,
      "1996-01-02",
      "5-LOW",
      "Clerk#000000951",
      0,
      "nstructions sleep furiously among "
    ],
    [
      2,
      781,
      "O",
      38426.09,
      "1996-12-01",
      "1-URGENT",
      "Clerk#000000880",
      0,
      " foxes. pending accounts at the pending, silent asymptot"
    ]
  ]
}

Could you add a test TestDeployDuckDBRuntime to test the data source can be switch to DuckDB and config can be changed after server started? I'll keep going to review tomorrow. Thanks

We can implement dynamic deploying DuckDB DataSource in next PR.  Let's only finish the static one here.


Migration steps when changing directory of Artemis

If you need to move the location of Artemis due to perms etc.
Please have a writeup of what needs to be moved.
IE. User DB, Local Configs, .env files, Docker compose files.

Closed by https://github.com/FORTH-ICS-INSPIRE/artemis/commit/b213f45fd89c873120bcdc5fca1ddeebe9665679


[Feature] Preview panels on the math equations being edited

It might be a deadly useful feature if there could be preview panels on the math equations being edited, just like Typora.

Good news: I've already started working on this.

[x] Preview panel for math block

[ ] Preview panel for inline math


Add functionality for attaching vm to an application security group

Allow for the configuration of the vm's interface in an application security group.

Adding this functionality to handle cases where the application security group exists and the vm should attach to it.

This has been closed in version 0.8.0.  Closing


Update fs2-reactive-streams to 3.2.7

Updates co.fs2:fs2-reactive-streams from 3.2.5 to 3.2.7.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "co.fs2", artifactId = "fs2-reactive-streams" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #178.


Ignore start if scope model is LifeCycleManagedExternally

What is the purpose of the change
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #12985 (2ef3832) into 3.2 (c12a57e) will increase coverage by 0.64%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##                3.2   #12985       +/-   ##
=============================================
+ Coverage     68.78%   69.42%    +0.64%
+ Complexity      341        2      -339
=============================================
  Files          3659     1649     -2010
  Lines        171227    68495   -102732
  Branches      28256     9998    -18258
=============================================
- Hits         117770    47553    -70217
+ Misses        43281    16348    -26933
+ Partials      10176     4594     -5582

see 2048 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Include empty rows

Hello,
json2csv ignores empty rows, due to this line:
if (dataElement && Object.getOwnPropertyNames(dataElement).length > 0) {

In my current user case, I would expect an empty row to be filled with default values. What about adding a new options parameter, for instance 'excludeEmptyRows', default to true for compatibility (or 'includeEmptyRows' with default false)?

@glutentag would you like to submit a PR with an implementation?

@knownasilya Sure, here is a PR, using 'includeEmptyRows'.

Released as 3.5.0


spec: additional event handlers

The current spec defines pre-start and post-stop event handlers, and says that processes will receive SIGTERM when the container needs to stop.
That seems insufficient to me.  At a minimum I would add a pre-stop to allow more complicated shutdown procedures.  E.g. clean shutdown of a database.  docker/docker#6982 has a more extensive list of hooks that has been requested for Docker.

Re-capturing a question raised in #62:

Why explicitly limit event names? Can't an implementation define additional events/handlers? Examples of such handlers would be: ad-hoc maintenance tasks triggered manually (like running chef-server-ctl commands for Chef server); cron-like scheduled tasks; handling situations in multi-application containers when one of the processes exits. Spec may require that if an implementation handles events outside of the spec, the event names should be namespaced (e.g. rocket:cron or jetpack:task) to avoid possible collisions.

We certainly want a small set of very well defined eventHandlers that all executor implementations must support. As for extensions like ad-hoc tasks, is that worth codifying in image manifests at all, rather than just leaving it up to implementations? I think it's a bit of a grey area. Namespacing could be a good compromise and we could define this as a common approach for dealing with other fields like isolators (optional; small set of well-known fields; other fields accepted, but please namespace; commonly-used fields may be promoted to well-known in future versions of the spec)

The need for a "graceful shutdown" hook seems pretty clear (expecting all the existing software in the world, that people want in a container, to follow the spec's SIGTERM rule might be impractical). I'm not however sure if "pre-stop" captures this. If "pre-stop" is used for graceful shutdown, there is no way for an executor to know if a process should have terminated or not due to the hook. Should there be special-case even handlers for life cycle events (e.g. "stop") that take the place of SIGTERM? "pre-kill" also seems reasonable due to past experience (e.g. a script that sends a SIGUSR or triggers a core dump, etc, on a process that is has not terminated as expected or within the allotted time).

Beyond UNIX signals, it was raised in #12 that we should consider different kinds of termination signals such as HTTP GETs and/or Execs.

@jonboulle I feel like it should always be an exec inside of the pod. If someone wants to implement a GET in that exec they can go for it.

@cdaylward I see your ordering problem and what you are trying to capture with pre-kill. Essentially we need to define whether this thing will cause the process to exit or not.
In my mind pre-stop is called before the app's main pid is sent a SIGTERM. If the process exits after pre-stop is exec'd we will assume that this was intended. If we add restarts in the spec in the future this would not cause a restart of the app.

As part of this we should move away from the single unexplained SIGTERM reference in the intro text.

If the additional event handlers are not added, it might be worth just removing them all together in favor of having people write this stuff in to their init scripts or (if calling directly) app itself. Reason being, if start and stop are the only hooks, it's basically needless duplication with poorly specified testing/failure modes. For imports from other formats, a wrapper-script could be generated.


Fix: haft issue with custom star component

updated this along w/ other styles today - thanks for bringing to my attention!


Port grafana client fix for NPE into main 4.15 branch

This has been completed in the latest 4.15 release. The issue was that the initializer for the annotations client was using an older decorator interface. A follow-up to this will be to remove the MapConfigurable decorator interface to avoid this confusion in the future.


[YUNIKORN-726] Add instructions to approve cert requests

These requests may not be auto-approved in newer version of Kubernetes

This is the line that approves the request in the script
Is this related to YUNIKORN-625 and indirectly YUNIKORN-674? If so we should work on that issue. I have mentioned in discussion before that we should use go code and not a shell script to deploy the admin controller. That would allow us to recompile the admin deployment code for specific K8s versions.

Based on the changes we have made there is no longer a script and we no longer need to approve any certificates.
@holdenk I think this has been made obsolete with the new deployment code of the admission controller.
I think we can close this one, please confirm if that is correct.

Based on the changes we have made there is no longer a script and we no longer need to approve any certificates.

Correct.

@holdenk I think this has been made obsolete with the new deployment code of the admission controller.

Correct.

I think we can close this one, please confirm if that is correct.

Yes we can close this one.

Closing, as this is no longer needed.


Dequarantine dedicated migration network test and CPU pinning test

What this PR does / why we need it:
These tests appear to be very stable[1][2] over the past two weeks in their periodic lanes so they should be reintroduced to the presubmit lanes.
[1] https://testgrid.kubernetes.io/kubevirt-periodics#periodic-kubevirt-e2e-k8s-1.27-sig-compute-migrations
[2] https://testgrid.kubernetes.io/kubevirt-periodics#periodic-kubevirt-e2e-k8s-1.27-sig-compute
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
/cc @dhiller @xpivarc
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[x] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

NONE

/cc


Add npm run dev to supervisord

The first thing I do after running my alias for ./vendor/bin/sail up -d when working on a project is open up a second terminal window and run my alias for ./vendor/bin/sail npm run dev to start the Vite watcher.
It occurred to me I don't have to manually run ./vendor/bin/sail artisan serve, sail does that automatically in the background, why not do the same for npm run dev? Its just a small supervisord config, so this PR does just that making one less step to get up and running in development.
NOTE: Existing projects using sail would have to run ./vendor/bin/sail build to get the update supervisord.conf in their container image.

@taylorotwell FYI I updated a mistake in the title. Just in case you only read the title and had the wrong idea of what I was doing.


expr:grouping

Is your question answered elsewhere?

[X] searched the existing issues.
[X] asked MilMil.
[X] read the documentation.

What is your question?

how to use ,please.
give me a demo;
java code:
  R<SearchResults> search = milvusRepository.search(collectionName, ID_FIELD, "()", VECTOR_FIELD, "{\"nprobe\":10}", lists);

Anything else?
give me a demo

Hi, @lucky-zhao
LogicalExpr = LogicalExpr BinaryLogicalOp LogicalExpr
              | UnaryLogicalOp LogicalExpr
              | "(" LogicalExpr ")"
              | SingleExpr;

Like the description in the doc, when you want to combine a group of logical expressions, you will need to write it like this:
"("LogicalExpr_1" BinaryLogicalOp "LogicalExpr_1")". For instance, "("scalar_1 > 100" and "scalar_2<300")".

In Java, how to call it?

In Java, how to call it?
For example, if I want to repeat through name, how should I write it?

What I want to do now is to redo according to a certain field during query, which is a bit like SQL: select * from tablename group by name

Hi @lucky-zhao ，I am sorry that Milvus does not support group by function currently.
Here grouping does not refer to group by function in SQL, it's a combination of different expressions.
I hope this would answer your question.

For issues concerning Milvus Usage, please file the issue in https://github.com/milvus-io/milvus.
Closing the issue.


Relay compatibility

[x] node endpoint support
[x] pagination support
 (using the example app)
[x] GraphiQL example
[x] Test data for the example
[x] Tests

Hi @tothandras . Please take a look at https://github.com/RisingStack/graffiti-mongoose/issues/22 as well. What I thin might be missing from your list is:

Mutations
Fragment support
Connections

Great to see you've made a start on this though!

Hi @burkhardr,
thanks for the review! I was just playing around with the current codebase to see where it has be changed. I tried to get more familiar with it by implementing a simple feature like supporting node(id) queries. More will be coming soon.

What's the rationale behind creating a new GraphQLID id instead of reusing _id (which is generally UUID-like and indexed already)? To avoid exposing machine or timing information?

I am almost finished. Please start reviewing as this contains a lot of change.

I've included all my changes, please review @burkhardr, @parkan, @hekike!

Will do tonight!
On Tue, 6 Oct 2015 15:37 András Tóth<EMAIL_ADDRESS>wrote:

I've included all my changes, please review @burkhardr
https://github.com/burkhardr, @parkan https://github.com/parkan,
@hekike https://github.com/hekike!
—
Reply to this email directly or view it on GitHub
https://github.com/RisingStack/graffiti-mongoose/pull/27#issuecomment-145876299
.

Couple of tests failing for me mate, so won't even let me build it:
 1) e2e get schema "before all" hook for "should extract tree from paths":
     Error: Schema must contain unique named types but contains multiple types named "User".
      at invariant (node_modules/graphql/jsutils/invariant.js:20:11)
      at typeMapReducer (node_modules/graphql/type/schema.js:138:41)
      at Array.reduce (native)
      at typeMapReducer (node_modules/graphql/type/schema.js:146:44)
      at Array.reduce (native)
      at typeMapReducer (node_modules/graphql/type/schema.js:150:41)
      at node_modules/graphql/type/schema.js:164:22
      at Array.forEach (native)
      at typeMapReducer (node_modules/graphql/type/schema.js:155:30)
      at Array.reduce (native)
      at new GraphQLSchema (node_modules/graphql/type/schema.js:67:92)
      at getSchema (src/field/index.js:89:10)
      at Context.<anonymous> (src/e2e.spec.js:14:16)
      at Hook.Runnable.run (node_modules/co-mocha/lib/co-mocha.js:43:16)

  2) field getSchema should return a GraphQL schema:
     Error: Schema must contain unique named types but contains multiple types named "User".
      at invariant (node_modules/graphql/jsutils/invariant.js:20:11)
      at typeMapReducer (node_modules/graphql/type/schema.js:138:41)
      at Array.reduce (native)
      at typeMapReducer (node_modules/graphql/type/schema.js:146:44)
      at node_modules/graphql/type/schema.js:164:22
      at Array.forEach (native)
      at typeMapReducer (node_modules/graphql/type/schema.js:155:30)
      at Array.reduce (native)
      at new GraphQLSchema (node_modules/graphql/type/schema.js:67:92)
      at getSchema (src/field/index.js:89:10)
      at Context.getSchemaTest (src/field/field.spec.js:100:22)
      at Test.Runnable.run (node_modules/co-mocha/lib/co-mocha.js:43:16)

@hardchor it's working for me with Node 4.1.0 . Did you run npm install? Do you have running MongoDB?

Mongo is running (the errors come from graphql anyway). Node is v4.1.2.
system in graffiti-mongoose/ on
› node -v
v4.1.2

@hardchor I'm getting similar errors, when I call getSchema or getTypes multiple times in one application. But the tests should pass if you haven`t modified it.

@tothandras Take a look at the link I posted. They propose introducing a root-level viewer field and then put everything else underneath that. What do you think?

@hardchor Okay, I am going to add the viewer root endpoint and keep the rest as is.

@tothandras Yes, and sadly I didn't manage to track down why. I've not modified anything, just used your PR directly, and had MongoDB running (which wasn't where the issue came from).
@hekike I don't think @tothandras had time to add the viewer root node by the time you'd merged. Should we open a new PR instead?

@tothandras  @hardchor yes please. I don't want to end up in an even bigger pr. ;)

No worries ;) Could you tag the new release for npm, please?

@hardchor the new version (3.0.0) is published to npm.


Update Adjustments New to Use New Theme

Theme update
We're upgrading our bootstrap theme to use a bootstrap 4 template and need to upgrade the various pages in our site.
This issue is the update the app/views/donations/index.html.erb view file to use the new bootstrap theme. When submitting your PR please include a screenshot of the completed page!
If you get stuck please refer to the following pages have been done and can be used as a reference in the new theme:
app/views/requests/index.html.erb
app/views/distributions/index.html.erb
app/views/donation_sites/new.html.erb
As this is a work an progress and we can't go live until all the pages have been converted please submit your PR against the new_theme branch.

I'm addressing this issue.

Just to clarify, we're updating adjustments/new.html.erb in this PR.

Was the issue description in error, or did the requirements change?

The body of the description was wrong.
Update Adjustments New to Use New Theme #855 -> update adjustments/new.html.erb instead of donations index page.

Fixed, thank you!


When will the new version be released

Type of issue
[ ] Bug
[ ] Question (e.g. about handling/usage)
[ ] Request for new feature/improvement
Expected Behavior

Current Behavior

Possible Solution (optional)

Steps to Reproduce (for bugs)

Your Environment

When will the new version be released

Has the maintenance of this project ceased? The last update was several years ago. Could you recommend any good alternatives now? It needs to be fully compatible with .NET Core 6+ and Linux, thank you.

Good question. This is a great library, but questions if it has been ceased. Any news on an update, especially to System.Drawing issue?

The/a new version was released yesterday. A patch release followed a couple of minutes ago. The new release contains a lot of bugfixes and new features: https://github.com/codebude/QRCoder/wiki/Release-notes
Hope you enjoy it!


Any idea of what doing wrong?

It looks like unused is having trouble reading your ./tags file. Would it be possible to share it somehow?

Same problem here, but I cannot share the tags file. Is there a way to find out which entry/line in the tags file is causing the problem?

@stoile we might be possible to narrow down to what type of data is causing the problem; can you run:
cat .git/tags | cut -f1 | unused --stdin

And let me know what happens? My guess is that it's some sort of strange encoding character that's causing problems, but lack of access to the tags makes it difficult for me to reproduce. If the above command does work, it's an indicator that it's either in the path, function definition, or type columns, which we can hopefully use to narrow things down.
@stoile @stoivo can you also report the path for ctags (which ctags) and the version (ctags --version)?

$ which ctags /usr/bin/ctags $ ctags --version Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert   Compiled: Jun  9 2014, 21:59:46   Addresses<EMAIL_ADDRESS>http://ctags.sourceforge.net   Optional compiled features: +wildcards, +regex $ cat /etc/redhat-release  CentOS Linux release 7.2.1511 (Core)
I get the same error when running your command with cut -f 1 and I did kind of a bisect. I'll try to attach a tags file with the line that causes the problem.

@joshuaclayton I'll try to create a test case for you as soon as I find the time.
It looks like the problem is as follows: I am working with C# files created with Visual Studio 2015 on Windows. The files are in an svn repository and checked out on a CentOS Linux machine where I play around with unused. We have comments (and also had one symbol) with german umlauts (ä. ö, ü) and this seems to be the problem. It might be possible to reporoduce this without Windows, Visual Studio and svn, but I don't have the time just now.
BTW, the german umlaut in the symbol was a typo. So unused already fixed one bug for us without even doing what it's supposed to do.

@joshuaclayton Some more information: Our code base is already some years old. Some files are encoded in ISO-8859-something, some newer files are encoded in UTF-8. Which seems to be no problem so far, because each file is handled individually and the encodign is detected. But ctags seems to merge all files (or information from all files) into one file, which has a mixed encoding afterwards. Does that sound plausible?
I'm not sure if unused can do anything about this or if this is even a bug/issue. For us the best way seems to be to convert our code base to UTF-8 and try again.

@stoile fascinating; the multiple encodings aspect might be the cause of it. I'm unfamiliar with the inner-workings of ctags, but if it normalizes on an encoding that's not UTF-8, it's likely the cause.
With this encoding information, I may be able to reproduce. If I can, I'll follow up here. Thanks for the context!

when my ctag file contain and is saved with Windows 1252
jgrid.defaults	public/javascripts/js/i18n/grid.locale-it.js	/^(function(a){a.jgrid={edit:{nodefined:"è"}}})(jQuery);/;"	p

I get the error.
If i open the file tags in sublime and Save with UTF-8 is works.

i have same issue with standard ctags, https://github.com/universal-ctags/ctags fixed this for me

After further digging into character encodings and default behavior with Haskell, I think the only truly reliable way to proceed would be to have a requirement of UTF-8 for the generated ctags file. I've verified that ag will handle non-UTF-8 files, although rendering output of matches is dependent on $LANG.
How this can be manifested into an improvement within unused, I believe, is better error messaging around reading the tags file with subsequent failure, to help guide users towards better tooling (thanks @DmitryBochkarev, I'm going to check out Universal Ctags today!) and courses of action when the encoding doesn't line up.

Closing this, as a rewrite is in the works, which recommends Universal Ctags moving forward.


Use Poetry for dependencies and packaging

Moving to Poetry would help in keeping the repo tidy by:

Have dependency management in pyproject.toml
Have packaging instruction in pyproject.toml
Publish package using Poetry
Remove requirements.* files
Remove setup.py file

Fixed in https://github.com/peering-manager/pyixapi/commit/6089792498e727fed8a1c2248a2aba9a8598c794


feat(protocol): Add prover param

4 tests are still failing.
Also with the contesting and stuff, it's not as clear cut when to use msg.sender and the supplied prover... So this might be a more confusing feature than I first thought because there will need to be clear rules when which is used. So not so convinced anymore we should add this.

Yeah agreed we can leave it for now.

I think the issue you raised in the other PR about 'message.owner == msg.sender' in vaults is more critical. Do you want to fix it?

Yeah will look into fixing that.

Closing for now because not that important and pretty tricky.


add change line functionality for admins

I rule and have completed some work on Case Manager that's ready for review!
Adds a line dropdown box for admins
This pull request makes the following changes:

Adds line dropdown on patient information tab.
Checks if line option is visible for non-admins and for admins

Uploading images not working on github.
It relates to the following issue #s:

Fixes #868

Codecov Report

Merging #890 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #890      +/-   ##
==========================================
+ Coverage   97.99%   97.99%   +<.01%
==========================================
  Files          35       35
  Lines         747      749       +2
==========================================
+ Hits          732      734       +2
  Misses         15       15

Impacted Files
Coverage Δ

app/helpers/patients_helper.rb
100% <100%> (ø)
:white_check_mark:

Continue to review full report at Codecov.

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

Perfect! Thanks a ton @tingaloo !


fix: Frequently asked questions section for 3_wara_reports_generator.ps1

Overview/Summary
Recovered the frequently asked questions section for 3_wara_reports_generator.ps1
NOTE: Also need to update the target URL of https://aka.ms/aprl/tools/faq
Related Issues/Work Items

Fixes #375

Breaking Changes

None

As part of this pull request I have

[x] Read the Contribution Guide and ensured this PR is compliant with the guide
[x] Checked for duplicate Pull Requests
[x] Associated it with relevant GitHub Issues or ADO Work Items (Internal Only)
[x] Ensured my code/branch is up-to-date with the latest changes in the main branch
[ ] Ensured PR tests are passing
[x] Performed testing and provided evidence (e.g. screenshot of output) for any changes associated to ARG queries
[x] Updated relevant and associated documentation (e.g. Contribution Guide, Docs etc.)

Screenshot

@ejhenry @oZakari You need update the target link of the aka.ms/aprl/tools/faq also. I have no access to the aka.ms link setting.


Solved Anagram using C++.

Description
Solutions to Problems Anagram, Proficient Trader , Roman to decimal in C++.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Test Configuration: (If any)

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

[x] My code follows the style guidelines of this project
[x] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[x] Any dependent changes have been merged and published in downstream modules

Solve 1 question at a time. And send pr for one question.

@LemonDrop847 Well done 👍

@LemonDrop847 well done on the solving part but make sure you divide these solutions into 3 separate prs and submit it so we can keep a track of the prs submitted per question.

Done! Doing one at a time.


VIM-1824: surround - remove whitespace with closing bracket

Context:
In vim surround extension closing brackets (}, ], )) should remove whitespace when using cs movement.
Example:

Before: { example }
Movement: cs{}
After: {example}

This doesn't work currently. The text is left unchanged.
Solution:
The bug was because brackets were replaced with a string from SURROUND_PAIRS map, which does not have any context about removing characters.
Inspired from VSCode's VIM plugin^1, I have introduced new class SurroundPair that will carry this context about the need to trim characters.
Disclaimer:
I have never written in Kotlin so solution may be not use best practices, though at least this PR seems to fix the problem and tests are passing.
Ticket:

https://youtrack.jetbrains.com/issue/VIM-1824/Vim-Surround-Does-not-remove-whitespace-with-the-closing-bracket

Hi! Thank you for your contribution. The change looks good to me, however, I noticed that the new test fails on the following pairs:
arrayOf("[${c} ]", "${c}[ ]", "[]"),
arrayOf("[${c}]", "${c}[]", "[]"),

Can you please take a look?

Hi! Thank you for your contribution. The change looks good to me, however, I noticed that the new test fails on the following pairs:
arrayOf("[${c} ]", "${c}[ ]", "[]"),
arrayOf("[${c}]", "${c}[]", "[]"),

Can you please take a look?

Added a fix: https://github.com/JetBrains/ideavim/pull/1007/commits/f6681a1aa25efcbdf28d590afb3d6d9f0c6fc610
Couple things though:

For first case (arrayOf("[${c} ]", "${c}[ ]", "[]")) - space should be trimmed to nothing (I have tried this on neovim with vim-surround plugin and on VSCode with Vim plugin). All spaces should be trimmed in general from my experiments in neovim. Thus this particular case I've edited to this: arrayOf("[${c} ]", "${c}[]", "[]"), though you see more cases in the tests of the PR;

Second case (arrayOf("[${c}]", "${c}[]", "[]")) seemed like somewhat orthogonal bug in general. IdeaVim just deleted the parenthesis if they are empty for any cs movement. It is because CSurroundHandler works (to my understanding) in a way where it deconstructs the text we are working with in to inner texts, surrounding parentheses, saves old text in registry, etc. After it manipulates necessary parts - the text is rebuilt [1]. Though because inner text for empty parenthesis is null - all this text manipulation and rebuilding part was skipped[2] and empty registry was returned instead[3]. Similarly to what I've done with introducing SurroundingPair to track if we should trim spaces, I've added isValidSurrounding attribute to SurroundingInfo to track if we should skip processing of the surrounding or not.

[1] https://github.com/JetBrains/ideavim/blob/master/src/main/java/com/maddyhome/idea/vim/extension/surround/VimSurroundExtension.kt#L197-L202
[2] https://github.com/JetBrains/ideavim/blob/master/src/main/java/com/maddyhome/idea/vim/extension/surround/VimSurroundExtension.kt#L195
[3] https://github.com/JetBrains/ideavim/blob/master/src/main/java/com/maddyhome/idea/vim/extension/surround/VimSurroundExtension.kt#L208

I fixed the conflicts and rebased the branch on master. Thank you for your contribution!


Error in validating map[string]interface{} struct field

Bug Report
The following struct:

type S struct {
Props map[string]interface{} `valid:"required"`
}
d := S{props: map[string]interface{}{"field": "test"}
result, err := valid.ValidateStruct(d)
...

With the above code, it gets an error:  "function only accepts structs; got string;"
However, if the field of Props is private (i.e., props), the validation is skipped.

Q
A

Version(s)
v0.0.0-20200428143746-21a406dcc535

Summary

The validator does not handle required field of map[string]interface{} correctly.
Current behavior

The current result: false with the error msg of "function only accepts structs; got string;"
How to reproduce
See the above sample code.

Expected behavior

The expected validation result: true (no error)

Hello guys!
I forked this package cause owner disappeared. Hope, he will be back, but it would be easier to merge these changes back if he is back
Link to my repo: create issue there and we'll discuss it.


S3 error: The specified key does not exist. (SecureVPCStack)

I can't execute the first template for PCI compliance.
If I modify the QS parameters I end up getting an Access denied error, but if I leave the parameters as default values and only switch my region to the new region I want to deploy a PCI-compliant environment in, I end up with a Key not found error.
When reviewing the predeployment requirements I have enabled AWS Config and Security Hub. Under the KMS Console, I did not find a key with the alias "PCI-CMK", I tried to create this key manually, but this doesn't seem to resolve the issue.
What information do you need to try and help me resolve this? I am on a bit of a time limit, so would be really grateful if someone could look at this one.

bump. Is anyone out there? pretty please

So I figured out that the template is failing to find the secureVPN template json file. This is because it's only in one S3 bucket and the URL to find it is dynamically generated, e.g. points to the wrong place.
After working around that by downloading the files myself and uploading them elsewhere, I'm not stuck with python3.10 errors in regEx.

Some help would be appreciated @vsnyc. I don't know what I'm looking at with these errors and I need to get this environment up and running. I'm working on deploying this in the ap-southeast-2 regions.


Some Actions Can Cause Header Of Hover Editor Window Get Stuck Into Obsidian Header

Like this, this happened for example because I minimized the window (to bottom) moved the window up and then undu the minimize. And there is nothing that can be done to fix it , only to restart to app

I get the same issue if I open Obsidian on a large monitor, resize the hover window to be almost as tall as the Obsidian window and then move obsidian to a smaller monitor.  In fact this happens automatically when my laptop goes into screen saver mode for seem reason - all windows move to the laptop screen when it wakes up again - and my hover windows are now stuck.

Hover Editor 0.11.7 contains a change that should fix this issue; let us know if it still persists.


Infinite execution when using jotai-apollo atoms

hello 👋 ,
first of amazing library thank you so much. as I was using the lib I noticed that whenever I create an atom (from jotai-apollo) within a molecule it keeps infinitely running (maybe related to dependencies?)
Couple other things that I have tried:

If i have a molecule that uses atoms from jotai-apollo, but I use it through an effect (jotai-effect) it works fine, and there is no infinite loading (see stackblitz)
I tried to memoize the atom, the getter function (first param of atomsWithQuery), I also tried to memoize the client getter (second param of atomsWithQuery) but none of these worked.
If I memoized the molecule constructor function then I got an error saying that the dependencies have changes which is not supported.
also if you move the jotai-apollo atom outside of the molecule it also works fine

here is a stackblitz with the issue: https://stackblitz.com/edit/vitejs-vite-xaz7lw?file=src%2FApp.tsx
if you uncomment the following part:
{/* <ScopeProvider scope={TestScope}>
        <InfiniteLoadingList />
  </ScopeProvider> */}

you should see continuous console logs from the molecule:

if there is any way I can help please let me know (ex.: pr, tests etc...), although I'll probably require some assistance 🙏 .

Thanks for the reproduction @lazakrisz and the cases where it fails and where it doesn't. That's really helpful!
This sounds like a classic integration testing problem. jotai-apollo and bunshi may both be operating the right way, but not when paired together.

I don't know what may be causing this.
The biggest help you could do is to add some test cases to ScopeProvider.test.tsx. If you can make it fail, then open a draft PR with the failing tests, and I can help figure out how to make them pass.
The Void scopes can be used to create unique molecules test might be a good foundation. It uses createLifecycleUtils to make sure a molecule isn't created more times than needed, which we want to be 1 but in the case you've created is Infinite.

thank you @loganvolkers , will start to investigate this! 🔍

Update as I was investigating this:

it seems the issue is related to Suspense boundaries and async atom data fetching behaviours and not references / memoization issues

by default each async atom in jotai uses Suspense in order to suspend until the data is available. (source: https://jotai.org/docs/utilities/async)
If the Suspense Boundary is wrapping the component that is suspending while the promise is pending (see here: https://github.com/saasquatch/bunshi/blob/7594a71fba744b0519ae5a9cc91e005422aaefb1/src/react/ScopeProvider.test.tsx#L570) then all is good ✅ .
However if the Suspense boundary is wrapping the entire application (in my Apps case) or in case of this test (see here: https://github.com/saasquatch/bunshi/blob/7594a71fba744b0519ae5a9cc91e005422aaefb1/src/react/ScopeProvider.test.tsx#L635) then the Suspense boundary is never unmounted (see here: https://github.com/saasquatch/bunshi/blob/7594a71fba744b0519ae5a9cc91e005422aaefb1/src/react/ScopeProvider.test.tsx#L684).
Furthermore I have also forked and updated the Stackblitz to showcase this same behaviour:  https://stackblitz.com/edit/vitejs-vite-eqmpey?file=src%2FApp.tsx
I have added the new code within the LoadableList.
I also want to mention that there are currently two solutions to this problem from an application perspective:

use a Suspense boundary wrapping the component which is directly using the Promise atom (in my case and the Stackblitz's this is the atom that does the fetching using jotai-apollo)
Use a loadable from jotai/utils as mentioned in the jotai docs in order to not use Suspense while the Promise is pending.

I believe both are valid solutions, let me know what you think @loganvolkers 👍

Sounds like some good investigation @lazakrisz
In terms of a path forward I see two things:

Add unit tests to confirm the explicit behavior of Suspense
Add documentation for the limitations of Interop with Suspense

Depending on what we find, it would be interesting if we could detect and warn in these infinite loop cases, or find a way to support them.


Support for multiple NBs with same default_exp

From the base nbdev_template you can duplicate 00_core.ipynb to make 01_other_core.ipynb and change the name of the foo function declared in this duplicate notebook to bar. Then you have two notebooks with the same default_exp exporting distinct functions.
The core.py generated from then executing nbdev_export ignores the foo function from 00_core.ipnyb. And when you run nbdev_preview, the sidebar links twice to the same http://localhost:3000/core.html.
nbdev1 handles this more cleanly. I think it's an important feature as some awkward decisions around documentationare forced otherwise.

So you're saying this isn't a bug?
At the very least, then, the documentation for migrating nbdev1 should provide guidance instructing users to reorganize their pre-existing libraries to account for this diminished functionality.

I don't want to hijack the issue, but this causes problems as well with nbdev_docs: it executes normally but after converting the notebooks it raises ERROR: NotFound: No such file or directory (os error 2), rename 'testing/Notebooks/data.html' -> 'testing/Notebooks/_docs/data.html' . In addition, the .html and supplementary files folders are left in the Notebooks folder and thus the GH Action can't build the docs.

@jph00 thank you for linking to this thread.
The reason why this is not an enhancement,  but rather a bug,
Is that the tutorial specifically says that you should write #|default exp core at the top of your notebook. There is no mention that doing this in two notebooks would produce unexpected results without a warning. The unexpected result is that the exported functions from one of these two notebooks are silently ignored.
I'd say that a good, quick fix is to detect the situation in which another notebook uses the same #|default_exp and throw an error with a helpful message,
e.g. export target "core" already requested in file <filename.ipynb>

@jph00 As a quick fix can we at least get an option to "elevate" __all__
e.g.
my_lib/
    |── large_mod/
    │   ├── part_a.ipynb
    │   └── part_b.ipynb

will generate
my_lib/
    |── large_mod/
    │   ├── __init__.py
    │   ├── part_a.py
    │   └── part_b.py

but __init__.py will not have an __all__. So something like
#| export_exp
#| elevate_all: True

would solve that?


Only send single summary email for provioning

Currently you get one email per app service certificate renewal. It'd be nice if this was just a single email with something along the lines of
app-service-name: success
app-service-name: renewal not required
...etc
Cheers!

Hi @jonocairns,
I actually prefer it the way it is for two reasons:

If anything goes wrong in the middle of the WebJob you get the e-mails for the certs that were renewed (if I wait until everything completes, no e-mail will be sent even though some were renewed).
It's easier to quickly see exactly what got renewed, both for human eyes and possibly for automation as well (e.g. send SMS according to some text in the subject).

If you feel you're getting too many emails you could just create a rule/filter that moves them to a folder/label. If you still prefer a single mail you could use a service like Zapier, but that will only tell you about success/failure.


Linked failed

I added the library following your instructions, but when I try to build I get the following errors
ld: warning: directory not found for option '-L/Users/../ofxiOSBoost-master/libs/boost/lib/ios'
ld: library not found for -lboost
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I have this issue too


Data associations in multi-tenant systems

Let's say you have an online shopping mall with multiple stores (https://github.com/influitive/apartment).  Email must be unique w/in store but there could be duplicate emails in the Users table (unique validation on email and store_id).  You also can add custom validations so user and purchase must belong to the same store.
On uploading Purchases to specify User relationship you can't just use email address.  You must specify both email and store so it can find the right record in the User table.  Any suggestions on how to do that?
Here are the basic models:
class Store
  include Mongoid::Document
  has_many :purchases
  has_many :users
end
class User
  include Mongoid::Document
  field :email
  belongs_to :store
  has_many :purchases
end
class Purchase
  include Mongoid::Document
  belongs_to :store
  belongs_to :user
end

At the risk of sounding like a broken record, if you are dealing with
unusual associations you can use an import hook.
At this point I think your requirements are different enough from the
mainstream use case of this gem that you might be better off forking it for
your purposes.
If you have suggestions on adding other hooks to deal with the situations
you describe I'm open to hearing them.
On Feb 27, 2016 6:16 PM, "Dmitry Polyakovsky"<EMAIL_ADDRESS>wrote:

Let's say you have an online shopping mall with multiple stores (
https://github.com/influitive/apartment). Email must be unique w/in store
but there could be duplicate emails in the Users table. You can add custom
validations so user and purchase must belong to the same store.
On uploading Purchases to specify User relationship you can't just use
email address. You must specify both email and store so it can find the
right record in the User table. Any suggestions on how to do that?
Here are the basic models:
class Store
include Mongoid::Document
has_many :purchases
has_many :users
end
class User
include Mongoid::Document
field :email
belongs_to :store
has_many :purchases
end
class Purchase
include Mongoid::Document
belongs_to :store
belongs_to :user
end
—
Reply to this email directly or view it on GitHub
https://github.com/stephskardal/rails_admin_import/issues/60.

Hi Julien
Thank you for such quick response to my ticket.  I do understand that my requirements are complex and might not fit the core feature set of this gem.  I really appreciate all the work you and others have been doing on this project (the gem really helped me with several tasks).  I am working on some changes and hope to submit a PR soon.
Dmitry

I added a new before_import_associations(record) hook that should help in situations like these


make_zn_score: sequential estimation needs to increase speed with added parameter

At the moment choosing sequential=True makes the function too slow for large panels.
The solution could be an added parameter est_freq="m", with options "w", "q" and "a" that govern the frequency at which the means and standard deviations are estimated (and subsequently forward-filled.
Beyond, the function also runs very slow when sequential=False is chosen, which suggests that the calculation is very inefficient.

Tied to the latest Pull Request.


training/evaluation data :) (password: data-3d-humans) is expired

could you please provide a another usable download link :)

and the pretrained weights link seems to be expired too

My access to the sharepoint got locked for a few days, so it seems that something happened to the original link. Now it's updated, thank you :)


CLID5: Create API v2alpha1 for oc-mirror v2 TP

Description
This change bumps the api version used by v2 to v2alpha1, in anticipation for releasing the TP with v4.16.
Fixes # CLID-5
:warning: ImageSetConfigs and DeleteImageSetConfigs used for v2 should now have apiVersion: mirror.openshift.io/v2alpha1
cc @zhouying7780 + @kasturinarra : impacts automated tests of v2, polarion test cases.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Automatic e2e tests pass
Unit tests pass

/test sanity

@sherine-k - this is a fairly large PR, my thinking here is lets wait for all other PR's to merge, I'm more than happy to give this "looks good to me" ,  its more important to get all feature dev asap , we can always spend time bug fixing afterwards

/lgtm


Session ID

it appears to me that SessionID is equivalent to a 'topic' or phrase to watch for as a receiver/listener...fine. Which leads me to appreciate that the sender and recv'r have some kind of mutual understanding of what ea. is doing.  Soooooo…..Can the session info/structure be controlled as a sender to indicate a preferred 'receiver' for the message content...or...can session creation be bound to a receiver? - (at send time). which begs the question of receiver 'awareness' as a sender...meaning can I discover a receiver and 1.) lock to it and tell that rec'vr we're buddies now...you can't get involved with another session (of same topic)...so sender properties/identifier(s) and recv'r properties/capabilities can be discovered and bound up as a meta property for how you'd like your conversation to behave...within a session/topic. if this ? is understood, what type of tools can be leveraged to explore the landscape of receivers/capabilities (some type of xml doc I presume is digestible)...but where? 2.) during session ctor, then negotiation, like ssl, negotiate a specific language to talk with...like I (sender) want to encrypt using 'this certificate'...you got it recv'r? is this fine to use?  probably a rotten place for such thoughts...but the SessionID stuff triggered all this...

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

ID: afed582b-fb3f-30b3-b119-6c4a9218bf34
Version Independent ID: d4cf3473-21c1-2409-e7ac-9ad93fbc5895
Content: Azure Storage queues and Service Bus queues compared and contrasted
Content Source: articles/service-bus-messaging/service-bus-azure-and-service-bus-queues-compared-contrasted.md
Service: service-bus-messaging
GitHub Login: @spelluru
Microsoft Alias: spelluru

Hi @toffolom
Thank you for your feedback! We will review and update as appropriate.

@toffolom SessionID is more like a sub-queue. You receiver would have to specifically ask for messages with a specific SessionID. You can read more about it here.
Service Bus is more about decoupling your services by using messages and queues.
Your use case sounds more like an RPC kind of application with a protocol handshake to decide upon parameters of data exchange between the parties.
That being said, you probably can still use Service Bus (with SessionID) to achieve what you are saying.
You would have both parties being sender and receiver in 2 different queues (or sessions), thereby establishing a duplex communication channel of sorts and then send messages across back and forth.
While this doesn't seem like an ideal use case for Service Bus, it is very much possible.
The recommended approach for such a use case would be using something like WebSockets.

PV thank you for the link...it does give me more insight into my open thought...
If a recvr has to ask for a specific sessID value (as you state above) to get locked into a communication/dialog with a sender...how does a recv'r know what sessID value to ask for?  Lets start with that...


Failed to activate package named 'gist-it'

Getting this in the console when I try to gist files:
Failed to activate package named 'gist-it' TypeError: undefined is not a function
  at GistView.module.exports.GistView.initialize (/Users/igazit/.atom/packages/gist-it/lib/gist-view.coffee:32:40)
  at GistView.View (/Applications/Atom.app/Contents/Resources/app/node_modules/space-pen/lib/space-pen.js:145:25)
  at new GistView (/Users/igazit/.atom/packages/gist-it/lib/gist-view.coffee:8:3)
  at Object.module.exports.activate (/Users/igazit/.atom/packages/gist-it/lib/gist.coffee:7:21)
  at Package.module.exports.Package.activateNow (/Applications/Atom.app/Contents/Resources/app/src/package.js:236:19)
  at /Applications/Atom.app/Contents/Resources/app/src/package.js:712:29
  at Emitter.module.exports.Emitter.emit (/Applications/Atom.app/Contents/Resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:224:20)
  at /Applications/Atom.app/Contents/Resources/app/src/command-registry.js:3:61
  at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/Applications/Atom.app/Contents/Resources/app/node_modules/command-palette/lib/command-palette-view.js:120:32)
  at CommandPaletteView.module.exports.SelectListView.confirmSelection (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
  at space-pen-div.atom.commands.add.core:confirm (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/src/command-registry.js:243:29)
  at /Applications/Atom.app/Contents/Resources/app/src/command-registry.js:3:61
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:558:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:396:22)
  at HTMLDocument.module.exports.WindowEventHandler.onKeydown (/Applications/Atom.app/Contents/Resources/app/src/window-event-handler.js:182:20)

Just an FYI, this might be associated with: https://atom.io/docs/api/v0.153.0/CommandRegistry
Hope that helps!

Yep, fixed


CiceroMark<->OOXML transformers

Feature Request 🛍

Incorporating the CiceroMark->OOXML transformer and improving the currently implemented OOXML->CiceroMark transformer.
Use Case

It will allow the conversion of Docx files into CiceroMark JSON and vice versa. In addition, using this Docx files can be converted into different other formats like PDF or HTML as well.
Possible Solution

The transformer for OOXML->CiceroMark is already implemented. It needs to be updated with some entities to allow full transformation.
The transformer for CiceroMark->OOXML is created in cicero-word-add-in branch. It needs to be transferred/transported here with some changes to allow the transformation.
Detailed Description

Currently, the CiceroMark->OOXML transformer supports the following conversions:

CiceroMark Entity
OOXML Entity

Text
<w:t>

Paragraph
<w:p>Content</w:p>

Linebreak
<w:p/>

Softbreak
<w:r><w:sym></w:r>

Emph
<w:i>

Variable
<w:sdt>

List Block/ List
<w:numPr><w:num w:val={ordered/unordered}/></w:numPr>

List Item(Text)
<w:t/>

List Item(Variable)
<w:sdt/>

Conversions which are left:

[ ] Strong

[ ] Code

[ ] Link

[ ] Image

[ ] BlockQuote

[ ] CodeBlock

[ ] ThematicBreak

[ ] Clause

[ ] Optional

[ ] Conditional

[ ] Formula / Ergo expressions

In the left conversions, we need to decide which ones need major importance/priority and which can be given a lower priority. Furthermore, we also need to think about whether all these will be present in the contract (IMO, Code and CodeBlock generally won't occur in the contract)
Entities and their corresponding Ciceromark
Heading

        {
          "$class": "org.accordproject.commonmark.Heading",
          "level": "2",
          "nodes": [ ... ]
        },

Paragraph

        {  "$class": "org.accordproject.commonmark.Paragraph",
          "nodes": [
            ...
            } }

Text

             { "$class": "org.accordproject.commonmark.Text",
              "text": "Try TemplateMark" }

Softbreak
"$class": "org.accordproject.commonmark.Softbreak"
Link

              "$class": "org.accordproject.commonmark.Link",
              "destination": "https://github.com/accordproject/markdown-transform",
              "title": "",
              "nodes": [
                {
                  "$class": "org.accordproject.commonmark.Text",
                  "text": "@accordproject/markdown-transform"
                }
              ]

Image

"$class": "org.accordproject.commonmark.Image",
"destination": "https://github.com/accordproject/markdown-transform",
"title": "",
"nodes": [
    {
      "$class": "org.accordproject.commonmark.Text",
      "text": "@accordproject/markdown-transform"
    }
]

Thematic Break
"$class": "org.accordproject.commonmark.ThematicBreak"

Emphasis
 "$class": "org.accordproject.commonmark.Emph",
"nodes": [
  {
    "$class": "org.accordproject.commonmark.Text",
    "text": "They can also, of course, contain "
  }
]

Strong
 "$class": "org.accordproject.commonmark.Strong",
"nodes": [
  {
    "$class": "org.accordproject.commonmark.Text",
    "text": "markdown"
  }
]

Code
{
  "$class": "org.accordproject.commonmark.Code",
  "text": "hello"
}

CodeBlock
{
  "$class": "org.accordproject.commonmark.CodeBlock",
  "text": "testing purposes\n"
}

BlockQuote
{
    "$class": "org.accordproject.commonmark.BlockQuote",
    "nodes": [
      {
        "$class": "org.accordproject.commonmark.Paragraph",
        "nodes": [
          {
            "$class": "org.accordproject.commonmark.Text",
            "text": "First line"
          }
        ]
      }
    ]
  }

Ordered List
{
"$class": "org.accordproject.commonmark.List",
"type": "ordered",
"start": "1",
"tight": "true",
"delimiter": "period",
"nodes": [...]
}

Unordered List
{
"$class": "org.accordproject.commonmark.List",
"type": "bullet",
"tight": "true",
"nodes": [...]
}

ListItem
{
"$class": "org.accordproject.commonmark.Item",
"nodes": [...]
}

Conditional
{
"$class": "org.accordproject.ciceromark.Conditional",
"whenTrue": [
  {
    "$class": "org.accordproject.commonmark.Text",
    "text": "This is a force majeure"
  }
],
"whenFalse": [
  {
    "$class": "org.accordproject.commonmark.Text",
    "text": "This is "
  },
  {
    "$class": "org.accordproject.commonmark.Emph",
    "nodes": [
      {
        "$class": "org.accordproject.commonmark.Text",
        "text": "not"
      }
    ]
  },
  {
    "$class": "org.accordproject.commonmark.Text",
    "text": " a force majeure"
  }
],
"name": "forceMajeure"
}

Optional
{
"$class": "org.accordproject.ciceromark.Optional",
"whenSome": [
  {
    "$class": "org.accordproject.commonmark.Text",
    "text": "This applies except for Force Majeure cases in a "
  },
  {
    "$class": "org.accordproject.templatemark.VariableDefinition",
    "name": "miles"
  },
  {
    "$class": "org.accordproject.commonmark.Text",
    "text": " miles radius."
  }
],
"whenNone": [
  {
    "$class": "org.accordproject.commonmark.Text",
    "text": "This applies even in case a force majeure."
  }
],
"name": "forceMajeure"
}

Clause
{
"$class": "org.accordproject.ciceromark.Clause",
"name": "clauseName",
"nodes": [
  {
    "$class": "org.accordproject.commonmark.Paragraph",
    "nodes": [
      {
        "$class": "org.accordproject.commonmark.Text",
        "text": "...Markdown of the clause..."
      }
    ]
  }
]
}

Formula
{
  "$class": "org.accordproject.templatemark.Formula",
  "dependencies": [],
  "code": " formulas ",
  "name": "formula_8e04633f576f94d0333aa7cb5a60f69edb9828f3eab05c59db02d2baa56ab685"
}

Entities and their corresponding OOXML Tag
Heading
<w:pPr>
  <w:pStyle w:val="${definedLevels[level].style}"/>
</w:pPr>
<w:r>
  <w:rPr>
    <w:sz w:val="${definedLevels[level].size * 2}"/>
  </w:rPr>
  <w:t xml:space="preserve">${sanitizeHtmlChars(value)}</w:t>
</w:r>

Emphasis
<w:r>
    <w:rPr>
        <w:i />
    </w:rPr>
    <w:t>${sanitizeHtmlChars(value)}</w:t>
</w:r>

Text
<w:r>
    <w:t xml:space="preserve">${sanitizeHtmlChars(value)}</w:t>
</w:r>

Paragraph
<w:p>
    value
</w:p>

Formula / Ergo expressions
Clause
Conditional
Optional
Strong
BlockQuote
CodeBlock
Code
ThematicBreak
Link
Image

Create a checkbox for this. It will be easier to track.

we also need to think about whether all these will be present in the contract (IMO, Code and CodeBlock generally won't occur in the contract)

Do raise this up in the meeting tomorrow :)
Since you have created the table, don't forget to link this to the next wiki page you will write.

Entities and their corresponding Ciceromark

Will you also be maintaining the OOXML counterpart? I recommend so.

Entities and their corresponding Ciceromark

Will you also be maintaining the OOXML counterpart? I recommend so.

Yeah, I will also maintain them as we start writing the transformer for it.

@algomaster99 @dselman
A doubt regarding the variable transformer.

When we rendered in the add-in, some variables had extra quotation marks. For more reference see here. The quotation marks were removed.
The tests now require these quotation marks in the transformer, as shown in the above image(test failing if no quotation marks).
So how to proceed here?
I have come on two solutions:

Remove the stripping off quotation marks altogether (rendering the probably unnecessary quotes).
Remove the stripping off quotation marks in the transformer to make it pass the test. The problem here can be if we convert from CiceroMark->OOXML via the transformer or markus-cli (possibly in the future) and then open the file in the add-in, we will have double quotes in variable values. In addition, if we add another template using the add-in, those values won't have double quotes.

PS: I am not a fan of either approach.

Where did you get the CiceroMark for testing? If you got it from a latest template, change the variable transformer to enclose variables in "".

@algomaster99
I got it from acceptance-of-delivery.json.
As for variable transformer do you mean CiceroMarkToOOXML or OOXMLtoCiceroMark.
We strip off quotation marks in the former one.
Also, enclosing variable values in "" in the latter won't make sense as variables which are of type DateTime, Number, etc don't have quotes around them.

First of all, that acceptance-of-delivery.json is parsed from an older version of the template. You might want to update that. Next, if the latest parsed CiceroMark still encloses its variables in "", you don't need to add extra code for enclosing the value in "" or stripping them off "" because when you will be iterating through the CiceroMark, you will get the value as "\"Party A\" " and not "Party A". But if does not enclose the value in "", again, you don't need to add extra code because you will get "Party A" as the value only and not "\"Party A\"".

@algomaster99

Overall, I don't see why we should be concerned about explicitly stripping or adding "" around the variable value.

The main reason was that some variable values had ""wrapped and some not. The ""was wrapped around basically in strings. So I thought it might have been unintentional and that they could have been inserted while transforming by mistake.

@algomaster99
I will keep the values as it is in the transformers

Exactly my point :)

@K-Kumar-01 from now, don't mention issue numbers in every commit you push. As you can see, it has cluttered this PR. I think mentioning the issue number should only be necessary for the PR title as your PRs are squashed anyway.

@algomaster99 @dselman
There is no such thing as blockquote in ms-word. It basically involves styling a given paragraph. Reference videos, Styling Reference for shading.
So from these, can you decide some specifications for the blockquote which we need?
Also, for `inline code, I am thinking of this formatting:

Thanks in advance:)


Remove .coveralls.yml

Heh, that wasn't supposed to be public 😅 Also unnecessary for travis.

Coverage remained the same at 86.822% when pulling 637e1a529bd38dca3a7e4e2dd0215b631af0ee80 on remove-coveralls-yml into dc5c34f9d8fc9c08ee5b275b4f0c51b9f984a98f on master.

Coverage remained the same at 86.822% when pulling 637e1a529bd38dca3a7e4e2dd0215b631af0ee80 on remove-coveralls-yml into dc5c34f9d8fc9c08ee5b275b4f0c51b9f984a98f on master.


[BUG] delete selected entity in Parameters causes exception

Idea Statica raises exception (and shutsdown) if no parameters are present in the model and the 'delete selected entity' button is pressed.

Fixed in the latest release 21.1.4.


Sentence Boundaries missing in Dataset: xtreme / udpos

I was browsing through annotation guidelines, as suggested by the datasets introduction.
The guidlines saids "There must be exactly one blank line after every sentence, including the last sentence in the file. Empty sentences are not allowed." in the Sentence Boundaries and Comments section
But the sentence boundaries seems not to be represented by huggingface datasets features well. I found out that multiple sentence are concatenated together as a 1D array, without any delimiter.
PAN-x, which is another token classification subset from xtreme do represent the sentence boundary using a 2D array.
You may compare in PAN-x.en and udpos.English in the explorer:
https://huggingface.co/datasets/viewer/?dataset=xtreme

Hi,
This is a known issue. More info on this issue can be found in #2061. If you are looking for an open-source contribution, there are step-by-step instructions in the linked issue that you can follow to fix it.

Closed by #2466.


improve isCacheable readability

seems we have different ideas of code style. i think this is much more readable than what we did in #19
wdyt?

Well, I don't mind after all.

@dbu do you have access to the repositories in StyleCI?

fixed the styling. seems that the github online editor is not that convenient for clean style...

:smile:
At least it turned out that you do have access to StyleCI which is cool.

:+1: