Implement Update function spec generator

switchboard was a simple annotation processor for generating interfaces from sealed Event classes that defined individual update functions for every subclass and a top-level update function to handle routing Events.  This helped alleviate a few tedious steps when writing large applications with Mobius.  The primary benefit of generating Update function specs is they conveniently break down large Update functions and greatly reduces nesting without writing the boilerplate.
I'd like to recreate the generator in Mobius.kt as a Kotlin compiler plugin with some improvements over the original Switchboard implementation

Kotlin Multiplatform support without hacks
Split responsibility of the original @MobiusUpdateSpec into multiple annotations to reduce overall configuration details Use single @UpdateSpec annotation applied to model which references the event/effect types and includes any other specific configuration
Generate specs which implement Update so the actual update method does not need to manually invoke the routing function
Introduce a mode which extracts Event subclass members into individual function arguments

Goal 1: should be easily accomplished with KSP.
Goal 2: create @UpdateSpecModel for the model class, @UpdateSpecEvent for the event class, and @UpdateSpecEffect for the effect class. Class name prefixing will allow automatically associating the three components when generating the spec.

Skipping goal 4 for now, will revisit at some point.  Error handling/logging and potentially a gradle plugin to make KSP easier to use is more important.


[FR]

Problem

Pegasus models are developed by Google Research. The current model implemented in utterance_generator.py is a fine-tuned Pegasus model for paraphrasing that was fine-tuned external to Google.
Solution

Fine-tune a Pegasus model for paraphrasing tasks that will serve as a base model for SCRAPI.

Status update: We were able to get training and evaluation to run to completion on a small subset(train[:1000], eval[:100]) of the PAWS dataset. How the resulting model performs compared to the current model in scrapi is unknown, but the current resulting model gives a bleu score of 0.62 on the evaluation subset (first 100 examples).


Add k8s vs. deployer vs. server compatibility matrix

Resolves #355

matrix is based out of what i could find in commit logs and docs.
scdf server -> k8s versions are in here, deployer -> k8s versions stayed in the deployer readme otherwise there would be duplication or content missing from one or the other

merged in cade3a5 and back ported to 1.7

merged in cade3a5 and back ported to 1.7

merged in cade3a5 and back ported to 1.7

merged in cade3a5 and back ported to 1.7


Add names to built in definition parameters

Adds names to the parameters in the embedded built in definitions.
Currently, most definitions have no named parameters, and for complex functions this is not helpful, especially for autocompletion / hover information.
Before:

After:

Not fully certain about some of the names. I tried to take them from https://luau-lang.org/library but some names are not very descriptive there. The main aim here is to open up discussion and come up with better names which make these functions easier to understand

We definitely shouldn't use camelCase parameter names for builtins.
Also my preference would be to match the names exactly between builtins and documentation; maybe the documentation could use some cleanup in terms of name clarity although consistency is also important - iirc the documentation tries to consistently use short identifiers for values with common semantics across multiple functions, eg a for array-like tables, t for tables of general structure, k/v for keys/values etc. Maybe in some functions like table.move we should use slightly longer name for indices like from/to.

I can instead keep it consistent with documentation, but open it up a bit more so that the PR should update the documentation as well at the same time.
Will switch out to using the documentation param names - then it can be decided if those names should be altered as well

We definitely shouldn't use camelCase parameter names for builtins.

Coming back to this - should I also edit existing functions which already have parameter names (in camel case) to follow their documentation counterpart?
e.g. https://github.com/Roblox/luau/blob/2a6d1c03ace747824510b741094852a8c4b02d98/Analysis/src/EmbeddedBuiltinDefinitions.cpp#L118

Yeah, that would be great!

I had another think about this, and there were 2 things which came about:

I think the better solution to the original problem here is improved documentation. It will be more helpful in explaining these parameters in hover / signature help.
As an aside, is there any way to contribute documentation improvements? It looks like general Luau docs are bundled into roblox-specific API docs (https://raw.githubusercontent.com/MaximumADHD/Roblox-Client-Tracker/roblox/api-docs/en-us.json). Notably, the documentation for a lot of standard-library functions/parameters is empty.

At the same time, parameter names could be helpful with the introduction of inlay hints. But this is only the case if the parameter name is descriptive enough standalone. e.g:

Is this even sufficient / worthwhile if the parameter name is one or two chars?

I'm therefore thinking of most likely closing this in favour of 1. But if parameter names for builtins are still useful (either for inlay hints or just in general), happy to continue with it.


print requires ( ) on python 3 - Updated README

Thanks! Note that this project is dead, IIRC there is a fork somewhere, ideally the README should point people there.

@gvanrossum ok, I'll try to find where the fork is located and send a PR including a link to README.

I've found a @pyxl3 organization with a single project but it is outdated and behind yours, also you are the owner on PyPI.
If the project is not going to be maintained by you the suggestion would be adding more people as maintainer on PyPI and maybe giving push access to this same repository?

No, this repo exists so that at Dropbox we can use mypy on files
containing pyxl code. You are free to fork it and distribute the fork (as
long as you follow Dropbox's license) but please name it something other
than pyxl3.


Add optional step to SimpleStepper

Feature Suggestion
Add an optional to SImpleStepper similar to what MuiStepper does.

Possible Implementation
Add canSkip, skipText and onSkip to StepActions and based on the action render the SKIP button in SimpleStepperFooter.
Context

See this CodeSandbox for Mui implementation.

Sure! I'll try to find a time this week to work on it.


fix(client): Prisma Client always receive engine spans

Closes: https://github.com/prisma/prisma/issues/14842

We should remove this now
https://github.com/prisma/prisma/blob/e3d8d6af3f49b6a3ea3addefca31626f5d673a25/packages/engine-core/src/tracing/createSpan.ts/#L14-L15

We should remove this now https://github.com/prisma/prisma/blob/e3d8d6af3f49b6a3ea3addefca31626f5d673a25/packages/engine-core/src/tracing/createSpan.ts/#L14-L15

traceFlags is a required type on SpanContext what should it be, always Sampled?

Related: https://github.com/prisma/prisma-engines/pull/3143

It was a workaround because engines would always send the spans. Now that the engines aren't sending the span if we tell it that an operation is not sampled (via 00-00-00-00), we should be able to remove it. In other words, yes, sampling should always be true there and the test you added for non-sampling should succeed.

It was a workaround because engines would always send the spans. Now that the engines aren't sending the span if we tell it that an operation is not sampled (via 00-00-00-00), then this isn't needed. In other words, yes, sampling should always be true there and the test you added for non-sampling should succeed.

Cool thanks for the explanation, it's been removed.


Improve README.md

I'm submitting a ...

[x] feature request

Improve our README file.
Steps to reproduce:
you may mention our gitter channel link https://gitter.im/Addy-Smart-Addresses

should i do it?

@anku580
for sure!
it would be great to see you on the contributors list :smile

@yashovardhanagrawal I added some improvements to the README file as well and opened up a PR.


Exceptions in SkinnableTextBase.js

Go to Accounts Payable Module
Go to Setups -> ATM Rental Income
click new and give input to fields as

click save.
Following exceptions on console in debug mode.

Uncaught TypeError: Cannot set property 'maxLength' of null
dbzATMRentalReceipt.js:2285 Uncaught TypeError: Cannot set property 'selected' of undefined
Uncaught TypeError: Cannot read property 'text' of undefined

The changes to add maxChars were not correct.  Some SkinnableTextBase subclasses like TextArea do not use an HTMLInputElement as the element.  The maxChars code should probably be moved to TextInput, or TextArea will need to override maxChars and do something else.  The latter is probably the best answer but will take more time to implement.

I will move to TextInput as it is blocking other work

@aharui thank you so much

Fixed in 383f819ce032299060041a439bdc66f94b9ea18f


strange error of muitplayer API

Godot version
3.5.1mono
System information
windows10
Issue description
I get the error of muitplayer API,but I just serialize a object to json

Steps to reproduce
Run my reproduction project
Minimal reproduction project
tests_2.zip

I'm getting this exception when running your MRP:
Newtonsoft.Json.JsonSerializationException: Self referencing loop detected for property 'Multiplayer' with type 'Godot.MultiplayerAPI'. Path 'timeObjectNode.Multiplayer.RootNode'.

This means that when trying to serialize some C# object, the JSON serializer found a cycle[^1] because you are serializing Godot objects which contain self-referencing members.
Usually you'd want to manually specify which members to serialize for your objects, by default Newtonsoft's Json.NET serializes every public field and property. You can configure the serialization with a JsonSerializerSettings object or, likely easier, you can create a separate POCO definition to use for serialization instead of the real object.
Alternatevely, keep in mind that Godot also provides a JSON class that can be used for serialization which doesn't support custom C# types but will work by default with any Godot type (including your custom types as long as they inherit from Godot.Object). This serializer only serializes the members exported with the [Export] attribute.
[^1]: A cycle is when class A has some field or property that references class B and B has some field or property that references A creating an endless loop that can't be serialized.

2022-12-28 23-49-29.zip
But I had 2 errors when I ran it.One of them is what you said but the other one is strange.Here is a example video

It's a side-effect of the serializer accessing every property to serialize it, one of the properties that it tries to serialize throws an error because it shouldn't be accessed without setting a network peer.

When the serializer tries to access the MultiplayerAPI.IsRefusingNewNetworkConnections property, it executes this code:
https://github.com/godotengine/godot/blob/0f10eafb38bd54e59fa7fd079ceafd2c07e8be2a/core/io/multiplayer_api.cpp#L808
Which checks if there is a valid network_peer set, since there isn't it prints an error to the console.


New features

Hi @hosseinmobarakian
Could you please add test cases to your PR ?
You can run tests using
USER_NAME={instagramUser} PASSWORD={password} npm test
Thx

Hi @hosseinmobarakian
Could you please add test cases and doc to your PR ?
You can run tests using
USER_NAME={instagramUser} PASSWORD={password} npm test
Thx

Yes, Sure


Changes for jaeger otlp support in Python and .NET

This PR resolves #1567 for Python and .NET
Preview:
.NET : https://deploy-preview-1704--opentelemetry.netlify.app/docs/instrumentation/net/exporters/#otlp-endpoint
Python : https://deploy-preview-1704--opentelemetry.netlify.app/docs/instrumentation/python/exporters/#otlp-endpoint

Will leave this open for a bit for @open-telemetry/python-approvers to take a look, but otherwise will merge sometime next week if there's no objections (as this is as-per the docs plan)


Upgrade to Spring Boot 1.5 and Spring Cloud Edgware

Upgrade to the most recent versions of Spring Boot and Spring Cloud before upgrading to v2.x

Closed with commit 3ec7022e8d6fc3d218d9a03f4bfc146b38305d1a (forgot to mention this issue in the commit...)


Update LICENSE

Hey there! So you want to contribute to a Firebase SDK?
Before you file this pull request, please read these guidelines:
Discussion

Read the contribution guidelines (CONTRIBUTING.md).
If this has been discussed in an issue, make sure to link to the issue here.
If not, go file an issue about this before creating a pull request to discuss.

Testing

Make sure all existing tests in the repository pass after your change.
If you fixed a bug or added a feature, add a new test to cover your code.

API Changes

At this time we cannot accept changes that affect the public API.  If you'd like to help
us make Firebase APIs better, please propose your change in a feature request so that we
can discuss it together.

Please provide context for any proposed changes in the PR description.


OpenDaylightserviceprovider not working

Hi,
I'm running ODL 0.11.1 and the docker image of YDK (0.8.4).
When I run the service provider query I got the following error:
odl_provider = OpenDaylightServiceProvider(repo, "<IP_ADDRESS>", "admin", "admin", 8181, EncodingFormat.XML)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: type must be string, but is object

I noticed this happens only if my router is in connected state in my controller:

opendaylight-user@root>netconf:list-devices
NETCONF ID          | NETCONF IP   | NETCONF Port | Status
-------------------------------------------------------------
EDG-01-216.BRU1-IXN | <IP_ADDRESS> | 1830         | connected

When my router is in connecting state then the query succeeds without any issue
opendaylight-user@root>netconf:list-devices
NETCONF ID          | NETCONF IP   | NETCONF Port | Status
--------------------------------------------------------------
EDG-01-216.BRU1-IXN | <IP_ADDRESS> | 1830         | connecting

I got the same result with ODL 0.8.3 and can't get it working.
The difference between connecting and connected state is the reply returned by ODL. In the first case it doesn't contains the capabilities of the router and the connected state the controller returns the full list of supported capabilities which (I think) leads to the above error.
Is this a bug ?
Thanks

This repo doesn't accept any issues directly. If you believe there is an issue in YDK that needs to be addressed, please open it in the CiscoDevNet/ydk-gen repo. Thanks.


[CDEC-509] Remove HasCoreConfiguration and HasConfiguration

Description
This is the removal of the final Data.Reflection constraint in core! This PR removes the dbSerializeVersion configuration parameter, a so far unused value. Could reviewers please check that a node running the code before this commit continues to sync after this commit is applied.

Linked issue
CDEC-509

Type of change

[~] 🐞 Bug fix (non-breaking change which fixes an issue)
[~] 🛠 New feature (non-breaking change which adds functionality)
[~] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[x] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[~] 🔨 New or improved tests for existing code
[~] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[x] I have read the style guide document, and my code follows the code style of this project.
[x] If my code deals with exceptions, it follows the guidelines.
[x] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.
[~] CHANGELOG entry has been added and is linked to the correct PR on GitHub.

Testing checklist

[~] I have added tests to cover my changes.
[x] All new and existing tests passed.

QA Steps

Connect to the testnet running a node on develop and sync some blocks
Kill the node and then with the same state connect with a node from this PR
Verify that the DB is still read and the syncing continues

Screenshots (if available)

Probably worth rebasing that against current develop (its 38 commits behiind) to reduce the chances of merge errors when it is merged to develop.

Something wend way wrong with the changes to lib/configuration.yam.
Github reports:

14,646 additions, 14,676 deletions not shown because the diff is too large. Please use a local Git client to view these changes.

I suspect the "semantic changes only" version if the diff for that file would be 30 lines. We really need that version :)

I compiled this version and ran it on an existing node DB (already synced to the 69th epoch or mainnet) and it ran fine.
I then deleted the the DB to force a full sync and that also seems to be fine and is currently at the 10th epoch.


Installation under arm

Hi author, I recently tried to install vapor under arm platform using clang compiler, but I could never find ospray dependency when executing cmake command, but I did install ospray, here is the cmake command and the error screenshot：
cmake -DCMAKE_PREFIX_PATH=/usr/local/VAPOR-Deps/ospray-2.10.0 -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang ..

What puzzles me is that I checked lib/render/CMakeLists.txt:147 (find_library) which is supposed to find the static library file of opsray, and the static library file also exists in the lib64 folder under the installation location of opsray, but it can't be found.Could you give me some advice? Thank you very much!

@datvance @opoplawski @shaomeng @core-code

Ospray is an intel library so I don't think it's going to work on ARM.  Try adding -DBUILD_OSP=OFF to your cmake command, which will omit it from your build.

@xiaopangjun666 - Please let us know if you have any other qustions.


scripts: update autocomplete instructions

We are now including bash and zsh completion scripts into our deb, rpm and brew packages. So users of those don't need to get the scripts by-hand.

@ptisserand I think that you should first understand the different modes of installation, and even try out some of them if possible. You should also familiarize yourself with the installation of tab completion.
Only after that you might be able to modify properly the installation instructions on that page.
But maybe someone else can explain you better, I am not sure.

@ptisserand yes, this is an update to the completion.md to mention that in certain cases completion is enabled out of the box. I would just write a simple sentence before each section - Ubuntu/Mac/etc ...

@ptisserand thanks for your interest! On second thought this was not such a great first issue though.

I'm addressing this in https://github.com/iterative/dvc.org/pull/725/commits/a0cb947053b8e72d348aa44814688978ea91b6ec.


Add search function to host

Adds function tool call for search to ai-bot
Adds host feature to search ai bot

This PR is ready for another review.
Its the parent PR of

https://github.com/cardstack/boxel/pull/1350 creates a command service
https://github.com/cardstack/boxel/pull/1352 removes all domain-specific code and/or pushes them into command service

This test is passing green.
I am going to do one last thing which is to convert the schema of the command result to
contains toolCallId and toolCallResult.

Reading the this the bot doesn't do anything with the results, is that right? They're not put I to the messages sent to openai?
Is that something I can help with adding to have the full loop working?

Reading the this the bot doesn't do anything with the results, is that right? They're not put I to the messages sent to openai?
Is that something I can help with adding to have the full loop working?

No their not sent to open ai via the modified message. We can ask the bot to catch the command search results

These are the newly yielded message prompts to the bot after deduping some of them
[
  {
    "role": "system",
    "content": "The user is using an application called Boxel, where they are working on editing \"Cards\" which are data models representable as JSON. The user may be non-technical and should not need to understand the inner workings of Boxel. The user may be asking questions about the contents of the cards rather than help editing them. Use your world knowledge to help them. If the user wants the data they see edited, AND the patchCard function is available, you MUST use the \"patchCard\" function to make the change. If the user wants the data they see edited, AND the patchCard function is NOT available, you MUST ask the user to open the card and share it with you If you do not call patchCard, the user will not see the change. You can ONLY modify cards shared with you, if there is no patchCard function or tool then the user hasn't given you access NEVER tell the user to use patchCard, you should always do it for them. If the user request is unclear, you may ask clarifying questions. You may make multiple function calls, all calls are gated by the user so multiple options can be explored.If a user asks you about things in the world, use your existing knowledge to help them. Only if necessary, add a *small* caveat at the end of your message to explain that you do not have live external data. If you need access to the cards the user can see, you can ask them to attach the cards. If you encounter JSON structures, please enclose them within backticks to ensure they are displayed stylishly in Markdown.\n  The user currently has given you the following data to work with:\n  Cards:\nMost recently shared card: {\"type\":\"card\",\"id\":\"http://localhost:4201/drafts/Chain/1\",\"attributes\":{\"name\":\"Ethereum Mainnet\",\"description\":null,\"thumbnailURL\":null},\"meta\":{\"adoptsFrom\":{\"module\":\"../chain\",\"name\":\"Chain\"}}}.\nAll previously shared cards: [{\"type\":\"card\",\"id\":\"http://localhost:4201/drafts/Chain/1\",\"attributes\":{\"name\":\"Ethereum Mainnet\",\"description\":null,\"thumbnailURL\":null},\"meta\":{\"adoptsFrom\":{\"module\":\"../chain\",\"name\":\"Chain\"}}}].\nYou are unable to edit any cards, the user has not given you access, they need to open the card on the stack and let it be auto-attached"
  },
  {
    "role": "user",
    "content": "search for the following card"
  },
  {
    "role": "assistant",
    "content": "Searching for the card related to Chain module and its name.",
    "tool_calls": [
      {
        "id": "call_B9HqUD2vLId5Ht4j0QrDrwoH",
        "function": {
          "name": "searchCard",
          "arguments": "{\"card_id\":\"http://localhost:4201/drafts/Chain/1\",\"description\":\"Searching for the card related to Chain module and its name.\",\"filter\":{\"type\":{\"module\":\"../chain\",\"name\":\"Chain\"}}}"
        },
        "type": "function"
      }
    ]
  },
  {
    "role": "tool",
    "content": "[{\"data\":{\"type\":\"card\",\"id\":\"http://localhost:4201/drafts/Chain/1\",\"attributes\":{\"name\":\"Ethereum Mainnet\",\"description\":null,\"thumbnailURL\":null},\"meta\":{\"adoptsFrom\":{\"module\":\"../chain\",\"name\":\"Chain\"}}}},{\"data\":{\"type\":\"card\",\"id\":\"http://localhost:4201/drafts/Chain/2\",\"attributes\":{\"name\":\"Polygon\",\"description\":null,\"thumbnailURL\":null},\"meta\":{\"adoptsFrom\":{\"module\":\"../chain\",\"name\":\"Chain\"}}}},{\"data\":{\"type\":\"card\",\"id\":\"http://localhost:4201/drafts/Chain/3\",\"attributes\":{\"name\":\"Gnosis Chain\",\"description\":null,\"thumbnailURL\":null},\"meta\":{\"adoptsFrom\":{\"module\":\"../chain\",\"name\":\"Chain\"}}}}]",
    "tool_call_id": "call_B9HqUD2vLId5Ht4j0QrDrwoH"
  }
]

So to update, the most recent change has to do with returning the search results and (if no result exist) the reaction to the event of the host directly to open ai. And as a result, if you call a command, the ai will tend to respond a message that it didn't do previously.

@IanCal I just

https://github.com/cardstack/boxel/pull/1341/commits/11ed82aa6dd80e1029bdd6158a533a4a4df7434f stabilise apply button state
https://github.com/cardstack/boxel/pull/1341/commits/3db35a8d3e3461be7d99f2994978c0c46f85b5f1 add the fix for user context so the ai bot is aware of the card being shared
https://github.com/cardstack/boxel/pull/1341/commits/197ccc7a50b4f2b884ba066641b39367501ba1d8 update the skill card to understand search and search + patch pattern

I tried the country search on staging preview link, however it keeps timing out. Maybe the merge conflicts need to be resolved?

I tried the country search on staging preview link, however it keeps timing out.

Sadly when there are changes outside packages/host the preview deployments don’t incorporate them 😞

I can get this working locally, there are some things in the behaviour I think we can improve, but would be better addressed as smaller pieces to make incremental change.
Fundamentally this adds support for getting data passed between the host and bot, and for the bot to understand what the user has applied.


SliverList does not update child's size if child is off-screen

Steps to Reproduce

SliverList does not update child's size if child is off-screen
Expected results:
Could a CustomScrollView always calculate the size from item 0 -> current and update the ui accordingly?
Actual results:
https://user-images.githubusercontent.com/26743089/168986561-08a97a30-3fb7-4f1a-ae51-c52ea0f6818c.mp4

Code sample

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

void main() {
  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: MyPage(),
    );
  }
}

class MyPage extends StatefulWidget {
  const MyPage({Key? key}) : super(key: key);
  @override
  State<MyPage> createState() => _MyPageState();
}
class _MyPageState extends State<MyPage> with TickerProviderStateMixin {
  late AnimationController animation;
  List<String> msgs = [];
  @override
  void initState() {
    super.initState();
    for (int i = 0; i < 100; i++) {
      msgs.insert(0, "$i");
    }
    animation =
        AnimationController(vsync: this, duration: Duration(seconds: 3));
    animation.addListener(() {
      setState(() {});
    });
    animation.repeat();
  }

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

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: CustomScrollView(
        reverse: true,
        slivers: [
          SliverList(
            delegate: SliverChildBuilderDelegate(
              (context, index) {
                Widget child = buildItem(index);
                if (index == 0) {
                  return SizedBox(
                    height: 200 * animation.value,
                    child: child,
                  );
                }
                return child;
              },
              childCount: msgs.length,
            ),
          ),
        ],
      ),
    );
  }

  Stack buildItem(int index) {
    final _color = index != 0 ? Colors.grey : Colors.red;
    final text = msgs[index];
    return Stack(
      children: [
        Container(
          alignment: Alignment.center,
          width: double.infinity,
          height: 120,
          child: Text(
            text,
            style: TextStyle(
                color: _color, fontWeight: FontWeight.w700, fontSize: 20),
          ),
        ),
        Positioned.fill(
            child: Placeholder(
          color: _color,
        )),
      ],
    );
  }
}

Logs
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.10.5, on Microsoft Windows [Version 10.0.22000.675], locale en-US)
[!] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    X cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.1.6)
[√] Android Studio (version 2021.1)
[√] VS Code (version 1.67.1)
[√] Connected device (4 available)
[√] HTTP Host Availability

! Doctor found issues in 1 category.

Hi @XuanTung95, Thanks for filing the issue. This is working as intended since SliverList children are built lazily on-demand ( Meaning children which are not visible on the screen are wiped off from memory) and hence you don't see the widget offscreen animating. From the SliverList docs

Child elements' lifecycle
Creation
While laying out the list, visible children's elements, states and render objects will be created lazily based on existing widgets (such as in the case of SliverChildListDelegate) or lazily provided ones (such as in the case of SliverChildBuilderDelegate).

####Destruction
When a child is scrolled out of view, the associated element subtree, states and render objects are destroyed. A new child at the same position in the sliver will be lazily recreated along with new elements, states and render objects when it is scrolled back.

Closing as this is working as intended, incase you disagree feel free to write in the comments and we will reopen it.
Thank you.

@maheshmnj Thanks for your comment,
For folks who want to keep the animation going when it is offscreen, increasing cacheExtent is my solution for now.
About this ticket, let's keep it closed.


drop support python 3.7

Google colab kernel was upgraded to python 3.8
python eol is coming (27 Jun 2023)
To make less maintenance burden
Therefore, I want to drop supports for oython 3.7

solved by #613


fix feature detections and warnings on msvc/arm64

possibly zlib-ng should create its own arm64 macro = defined(__aarch64__) || defined(_M_ARM64) so that can be used more easily.
it's also rather confusing that zlib-ng seems to refer to ACLE as an instruction set or something, I guess because the gcc header happens to have that in the name...

any reason CI hasn't been run on this?

@Dead2

It looks like this PR causes build failures in MSVC ARM (32-bit):
https://github.com/zlib-ng/zlib-ng/runs/8185666610?check_suite_focus=true


Better content-type check

As resources may have a header like Content-Type: text/javascript;charset=UTF-8

Your commit will make it work as before. But the aim of this pull request is to ignore resources that have a charset at the end of their Content-Type header, such as Content-Type: text/javascript;charset=UTF-8.
So in_array won't work, but strpos === 0 will.

What you want is use a startsWith check. Maybe add these to the helper class:
function startsWith($haystack, $needle)
{
$length = strlen($needle);
return (substr($haystack, 0, $length) === $needle);
}
function endsWith($haystack, $needle)
{
$length = strlen($needle);
if ($length == 0) {
return true;
}
return (substr($haystack, -$length) === $needle);

}
Then call
if(startsWith($content_type, $type) ){

Or, split the string on ';' and only use the first part for the test.

You could also do:
// Strip off ;charset=UTF-8 from Content-Type: text/javascript;charset=UTF-8
$pos = strpos($content_type, ';');
if ($pos !== false) {
$content_type = substr($content_type, 0, $pos - 1);
}

Why?
My solution just works in few line and is very efficient as it is.


When using useFetch form is submitted for each key press

Environment

Operating System: Windows_NT
Node Version:     v21.6.0
Nuxt Version:     ^3.2.3
Nitro Version:    ^2.2.3
Package Manager:  unknown
Builder:          webpack
User Config:      -
Runtime Modules:  -
Build Modules:    -

Reproduction
https://github.com/getshcc/nuxt-auth
Describe the bug
when using useFetch in *.vue file after submit form for first time. The form is submitted for each key press.
Mongodb:

Additional context
when i changed useFetch to $fetch problem fixed.
Logs
No response

You shouldn't register useFetch inside a function, it should almost always be on the top level scope.
Here's a video explaining why and how to properly use it: https://www.youtube.com/watch?v=njsGVmcWviY, alternatively note the info box in the docs: https://nuxt.com/docs/api/composables/use-fetch


defining the readme

@berenss would you mind giving this a review please.

this looks great to me! thank you

Thanks @berenss . I took your verbiage and added a bit - as you could see.


[CT-327] Use Structural Exceptions

Describe the Feature
Following the same pattern in the event module for structured logging, exceptions in dbt could be converted into structural exceptions.
Structural exceptions are values that:

contain only other values required to construct a message
have an associated function that constructs this message. Messages are never constructed at the site the exception occurred. In our case, this function will handle common functionality like scrubbing secrets.
can be easily passed if we don't want to throw

Looking at exceptions.py, a rough structure for the parent classes already exists. However, we currently use functions like raise_compiler_error to construct concrete error values from strings at each call site. This ticket is suggesting that in stead of having two exceptions both of class CompilationException like:
Compilation Error in model customers (models/customers.sql)
    Model 'model.jaffle_shop.customers' (models/customers.sql) depends on a node named 'stg_customer' which was not found

and
Compilation Error in macro (macros/cents_to_dollars.sql)
    Reached EOF without finding a close tag for macro (searched from line 1)

We instead create distinct classes for each kind of exception that can occur such as ModelDependencyNotFoundErr and MacroMissingCloseTagErr.
This pattern is common in other programming languages. For example, Java has exceptions like ArrayIndexOutOfBoundsException, NoSuchMethodException, and NullPointerException that are all very specific.
This would allow for easy incremental improvements to exception messaging by developers and community members because each message could be quickly located in the code base via the class name.

As part of this effort, I'd like to create distinct classes for each warn_or_error call site as well. Currently, it just passes everything into the generic method raise_compiler_error or the generic event type raise_compiler_error . WarnOrError should become a base class for events/exceptions, defining the behavior around whether to warn or raise based on the --warn-error flag/config. See: https://github.com/dbt-labs/dbt-core/issues/4383#issuecomment-1048702639.

Estimation:

this is a very large effort. below are some subtasks:
create parent classes in a way mypy can be helpful e.g. CompilationException (use event module as inspiration)
find all calls that create these exceptions today, and create classes for each
modify call sites to raise directly e.g. raise MySpecificException(arg0, arg1) (don't call a function like raise_error_for_me())
total estimation: 13+
might be worth a 5 day spike to see how much effort is required.

Going to close this broad issue, in favor of a newer & narrower one: https://github.com/dbt-labs/dbt-core/issues/5958
We've been making solid progress on the way here!


another to fix #64 using RegEx

if valid it would add new course staff
if invalid console would prompt
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
Note that this commit changed menifest.json.

The error indicates we are attempting to set a 422 header while we already did and sent. Since I am still pretty new on Node.js, I have absolutely no idea where to begin investigating. More, maybe we need things like toLowerCase for NetID as well.


Add an error message when importing malformed CSV.

While Argo Lite is being used in a class where students import graphs from programmatically generated CSV files, many students created malformed CSV files without the correct quotation strings to escape string values, causing parsing errors during the import process. For example, while Argo Lite is expecting:
college, location
"Georgia Tech", "Atlanta, GA"

some students might generate
college, location
Georgia Tech, Atlanta, GA

which is malformed and cannot be imported.
Argo Lite should give a proper error dialog/message (or use the existing NotificationService that generates a toast)  when such error occurs, rather than hanging in the import dialog.

I would start by looking here: https://github.com/poloclub/argo-graph-lite/blob/master/argo-lite/src/services/CSVUtils.js
and here: https://github.com/poloclub/argo-graph-lite/blob/master/argo-lite/src/ipc/server.js
My suspicion is that the parser in CSVUtils is throwing some kind of error, but we're not handling it when we use it in server.js!


[Event Request] REP94 - OnPreReportBeforeCheckDimPostingRules

Hello,
we Need the following Event with a IsHandled-Parameter.

Hi @SKeiler .
There is "IsHandled" pattern directly in CheckDimPostingRules function. You can return empty text and then followed checks will be skipped. Does it fit for you?
local procedure CheckDimPostingRules(var SelectedDim: Record "Selected Dimension"): Text[1024]
OnBeforeCheckDimPostingRules(SelectedDim, ErrorText, Handled, GenJnlLine);
if Handled then
exit(ErrorText);

Unfortunaly not. There are 3 system spots which call the function, but we want only to disable it for one of this...

No problem, we will implement it.

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. We will update this issue with information about availability.


Improve performance of emissary.util.Hexl.toUnformattedHexString()

The following screenshots show the number of times and memory allocated for processing a single 20Meg mysqldump file. The first screenshot shows the number & memory created by the original code. The second screenshot shows the number & memory created by the new code.

The code cleanup suggestion will be performed in a subsequent PR.

https://github.com/NationalSecurityAgency/burrito-grande/issues/1463


How to return imageBytes without saving image to file or copy it to clipboard ?

i want to know if there is a way to obtain image bytes without saving the images to a file  or copying it to the clipboard.?

 Future<String> takeScreenShot() async {
    CapturedData? capturedData = await screenCapturer.capture(
      mode: CaptureMode.window,
      imagePath: null,
      copyToClipboard: false,
    );

    String base64 = base64Encode(capturedData!.imageBytes!);

    return base64;
  }

@dridihaythem in my opinion, there may be performance issues with transferring imageBytes.


Remove physical CPU usage limit for Yarn containers

Remove cgroups support so it does not interfere with the new code pulled in from the friendly branch.

LGTM.


versionCode?

When doing Android development, there's a "versionName" (a string) as well as a "versionCode" (a monotonically increasing int).
I typically use gradle-git's project.version for the "versionName", and cook up my own "versionCode" by looking at how many commits have been made:
ext.git = Grgit.open(projectDir)
ext.versionCode = git.log().size()

This seems to be a fairly common technique in the Android community.
Of course, I have to remember to copy this gradle code into all of my projects.  I wonder: could we have gradle-git do this automatically?

So you're thinking of something like this?
plugins.withId('whatever.the.android.id.is') {
  versionCode = grgit.log.size()
}

That could make sense in a plugin, but if you're using org.ajoberstar.grgit along with org.ajoberstar.release-{base|opinion} your original block is really just a one liner since the grgit property is already populated.
I'm hesitant to put this in gradle-git, since I'm not familiar with Android development (let alone their Gradle plugin) and am not sure what other configurability might be of benefit (if any).
If you have some other thoughts, let me know. Right now I'm leaning towards calling this a "won'tfix".

No problem-- I just thought I'd throw it out there.

Alright. Thanks for posting the idea.


##[error]Unhandled: Unable to locate executable file: 'mvn'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.

Required Information
Question, Bug, or Feature?
Type: Bug
Enter Task Name: Maven@3
Issue Description
While running below task:
task: Maven@3
displayName: 'Maven: validate'
inputs:
mavenPomFile: pom.xml
goals: 'validate'
Getting "unable to locate executable mvn".
We are using ubuntu 1804.
Error logs
##[error]Unhandled: Unable to locate executable file: 'mvn'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.

Hi @ankurrawat66 I can't reproduce this issue with parameters above and ubuntu-18.04 for Maven task - do you have M2_HOME variables specifeid in a pipeline, or any modifications to the Path variables?
Maven tasks uses path from M2_HOME first, and if it was not found - it tries to find path to the 'mvn' executable in the path environment variable.

@anatolybolshakov we are providing below maven settings only-
mavenGoal - "package"
mavenPublishJUnitResults - true
serviceCoreMavenOptions - "-Dmaven.repo.local="
mavenOptions - "-Dmaven.repo.local="
mavenSettingsFile - "setting.xml"

@ankurrawat66 could you please share full pipeline logs to investigate? You can send them to my email -<EMAIL_ADDRESS>

I have sent the details in mail. Please let me know if anything else is needed.

Per offline discussion - seems that issue is relevant to the images used by (maven directory seems to be missed in PATH variable for some reason) - it's better to open a ticket on https://developercommunity.visualstudio.com/search?space=21 to get right eyes on it.
Closing this at the moment since it does not seem to be an agent issue - please feel free to ask any other questions.

##[error]Unhandled: Unable to locate executable file: 'mvn'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file. Getting this issue while creating .yml file

After installing Maven, I have to restart the agent service in Windows before pipeline can detect the value from PATH

do you resolve this issue, i am also getting same issue could you please provide and solution


Export classpath dependencies as modules

Problem summary:

fastOptJS (esp. from an incremental compilation perspective) is very slow for large projects.
Bundlers like webpack are unacceptable slow at handling huge -fastopt.js files. For example, ignoring other processing, it takes webpack 46 seconds on a 3.40GHz i7 just to parse a 17.7MB file which is just one of a number of Scala.JS modules in my multi-module project.
When bundling a multi-module Scala.JS app, lots of duplicate code goes into each bundle. Each bundle becomes needlessly large.

Solution Idea:
When emitting modules, instead of emitting a single JS file/module, Scala.JS could emit separate modules for each classpath dependency and one just for the source that requires the rest.
For example, if a project depends on Scalaz and nothing else, the output could look like this:
.../target/scala-2.12/whatever:

- scala-2.12.1-fastopt.js

- scalaz-core-7.2.9-fastopt.js // require('./scala-2.12.1-fastopt.js')

- myproject-fastopt.js         // require('./scala-2.12.1-fastopt.js')
                               // require('./scalaz-core-7.2.9-fastopt.js')

This would...

reduce incremental fastOptJS time because the classpath dependency modules would only need be generated once after a clean, and the scope of data that need be processed on each incremental compilation would be considerably lessened.
speed up bundlers like webpack because most have per-module caching. Lots of modules is the problem the JS world optimises for, not few modules of enormous size.
in a multi-module project, the SJS modules would require the same dependency modules which allows webpack to extract and generate a new module with all code shared between each SJS project. For example, if both SJS modules use Set and List from Scala stdlib that's already a (probably considerably sized) chunk of code that could be made reusable by webpack.
close out #2681

Related: #2175, #1787

Oh and the same would go for shared SBT modules. If SBT module B depends on SBT module B then I would imagine it working like this:
a/target/scala-2.12/a-fastopt.js

b/target/scala-2.12/b-fastopt.js // require('../../../../a/target/scala-2.12/a-fastopt.js')

As mentioned in #2681, our experience matches that of @japgolly.
I wonder, though, if the "one classpath-dependency to one module" idea is taken to its logical extreme, it will lead to a "one class to one module" scheme. Would it be possible to:

Output one .js file per class.
Automatically add require statements for each referred class' .js file.

Now when a scala source file is touched, only file corresponding to the classes/object in it will be touched and make the bundlers job really easy.
Furthermore, this will make using code splitting to fetch/parse only the absolutely needed file during the initial loading really easy (basically making it as capable as that in the JS world).

Why is this issue not a discussion on #2681?
Anyway, I agree that we need something like this (i.e., splitting the .js produced by Scala.js in several modules), but I do not think restricting it to classpath dependencies is needed/desirable. It should be up to some link-time option to decide on a strategy.
And then anyway, we still need to link the whole classpath as one unit, even though it can be split afterwards (after optimizations and such). But then again we're back to square #2681, so ...

Output one .js file per class.

 File systems (especially on Windows) are not good at dealing with zillions of small files. We were there in Scala.js 0.x for some small value of x, and it was a nightmare.

Now when a scala source file is touched, only file corresponding to the classes/object in it will be touched and make the bundlers job really easy.

That's not even true. Due to whole-program linking, changes in one source file can affect the .js produced for any other arbitrary class.

we still need to link the whole classpath as one unit ...  Due to whole-program linking, changes in one source file can affect the .js produced for any other arbitrary class.

When you're exporting modules then why is whole-program linking needed or even desired? You're generating something to import somewhere else; it's known to not be the final step nor have a view of the whole-program. That's the responsibility of whichever bundler-like tool a user chooses to use, (and it has to exist cos something needs to convert it all to IIFE).
It would be a change to Scala.JS to be sure, but wouldn't it make sense to just export everything according to its FQCN? Eg. the Scala module would export scala_collection_immutable_List, scala_collection_immutable_Nil, etc. and then downstream modules would simply have
import {scala_collection_immutable_Nil /* ... */ } from './scala-2.12.1.js'

I don't know the complications that Scala.JS deals with internally make it all possible but my point is, if there is some way to make it possible to make it more modular like this and get rid of whole-program-anything when exporting modules, then that will be a huge win.

It should be up to some link-time option to decide on a strategy.

Sure but one the biggest problems and goals here is speed. The less the linker has to do incrementally, the better; and the more previously created modules that are left untouched after incrementally linking, the better.

Why is this issue not a discussion on #2681?

My thinking was that this pertains to, and solves more issues than just that issue.

I don't know the complications that Scala.JS deals with internally make it all possible

Well that's the problem, right? It doesn't. Scala.js' linking requires to see the whole program. And no, I'm not even talking about optimizations.

Sure but one the biggest problems and goals here is speed. The less the linker has to do incrementally, the better; and the more previously created modules that are left untouched after incrementally linking, the better.

This is not an issue for what I'm proposing. The linker itself is already incremental, mostly. The most time-consuming part on an incremental run is the Emitter, which actually writes down the .js file. With link-time, post-optimizations code splitting, the Emitter can only re-emit the .js files for which something in their content has changed. This brings all the benefits you are asking for, and is actually compatible with the whole-program linking of Scala.js.

 File systems (especially on Windows) are not good at dealing with zillions of small files. We were there in Scala.js 0.x for some small value of x, and it was a nightmare.

I guess a good compromise could be one module per external classpath entry and one module per type for the current project or something along these lines (assuming the next point can be addressed in the first place).

That's not even true. Due to whole-program linking, changes in one source file can affect the .js produced for any other arbitrary class.

To what extent a change in one source file affects the other .js produced? What governs how the .js code for other types is affected (inheritance relationship? contains relationship? reference?). If it is truly arbitrary (generated names for example), could it be made less so by making type->js mapping more stable (during development)?
Basically, if a source code change could be limited to a smaller set of js changes, then it will help this issue. If not, it is unlikely that any solution will work (producing one giant -fastopt.js or many small .js files will not help Webpack's parser).

The linker itself is already incremental, mostly. The most time-consuming part on an incremental run is the Emitter, which actually writes down the .js file.

Just to be sure: I don't think the slowness of producing -fastopt.js is really a big issue. While any improvement is most welcome, in our project producing -fastopt.js takes about 4-5 seconds (on a fairly decent Macbook Pro) then followed by about 45 seconds of Webpack. These 45 seconds is a real productivity killer. When we switched to use the commonjs support in scala.js, the only thing that helped was to configure Webpack to not parse -fastopt.js (https://webpack.github.io/docs/configuration.html#module-noparse), but that also means we cannot use any JSImport from Scala sources.

To what extent a change in one source file affects the other .js produced?

Because of (transitive) inlining, it is impossible to predict: virtually anything can be affected. It is possible to track, though, which is what the incremental optimizer and emitter do. It is therefore possible for the emitter to track which portions need to be re-emitted, should we decompose the output in various .js files. In practice, a change to a source file will not affect the entire world; it will only affect a limited amount of callers to the function that are inlined (and a few other things, sometimes).

Just to be sure: I don't think the slowness of producing -fastopt.js is really a big issue.

I understand. My point is: if the emitter decides not to re-emit certain files, Webpack won't have to re-parse them.

Thanks for the clarification.

Because of (transitive) inlining, it is impossible to predict

Is the (transitive) inlining a core requirement or could it be turned off (say with a flag). Of course, if the set of output files could be limited through tracking, that may be sufficient to alleviate the current problem is using the commonjs support.

Is the (transitive) inlining a core requirement or could it be turned off (say with a flag).

scalaJSOptimizerOptions ~= { _.withDisableOptimizer(true) }

but you shouldn't need to do that to get reasonable incremental emitting.
Focusing on dumbing down the linker/optimizer is really the wrong strategy, here. Let it do its job, it does it well, and incrementally. The only issue is that we need to split the .js files at the very end, and not touch anything else in the pipeline.

Output one .js file per class.

Doesn't JVM land do exactly that and not blow up? Maybe Webpack specifically is unhappy about that, but that's another story.

Doesn't JVM land do exactly that and not blow up?

No it bundles zillions of .class files in one .jar file. From the fs point of view, it's one big file, not zillions of small files.

No it bundles zillions of .class files in one .jar file.

So I guess one .js per jar and suitable numbers of .js files per .scala will mirror the JVM world and might work fine from the filesystem's point of view.

The linker itself is already incremental, mostly. The most time-consuming part on an incremental run is the Emitter

That doesn't seem to be the case with my code. I ran fastOptJS once, added a newline to a file and re-ran fastOptJS. In my case Linker > Emitter.
[debug] Linker: Compute reachability: 1313952 us
[debug] Linker: Assemble LinkedClasses: 145043 us
[debug] Basic Linking: 1468947 us
[debug] Inc. optimizer: Batch mode: false
[debug] Inc. optimizer: Incremental part: 162886 us
[debug] Inc. optimizer: Optimizing 526 methods.
[debug] Inc. optimizer: Optimizer part: 52644 us
[debug] Inc. optimizer: 262365 us
[debug] Refiner: Compute reachability: 365210 us
[debug] Refiner: Assemble LinkedClasses: 26046 us
[debug] Refiner: 391385 us
[debug] Emitter: Class tree cache stats: reused: 3846 -- invalidated: 62
[debug] Emitter: Method tree cache stats: resued: 22952 -- invalidated: 294
[debug] Emitter (write output): 467787 us
[debug] Global IR cache stats: reused: 3734 -- invalidated: 84 -- trees read: 66

we need to split the .js files at the very end, and not touch anything else in the pipeline.

If by "pipeline" you mean previously emitted JS files, then awesome, that's the gist of the goal here.
There's still another problem which my proposal would address, that we're not talking about so much. That is: reuse in the multi-module view. When I proposed that SJS emit JS modules for classpath dependencies one of the hopes was that the classpath modules emitted by each module (like scala-2.12.1.js) would be exactly the same and reusable, just like .jar files. Then when I run webpack over the output of all of my SJS top-level modules, they'd all point to the identical scala-2.12.1.js files (which I'd unify), just different imports, which would allow webpack to perform whole-webapp optimisation and provide smarter shared bundles (eg. 40% of scala-2.12.1.js might be shared by all apps/entrypoints and could be extracted and cached separately). In your vision, @sjrd, where we can instruct the linker to emit multiple modules, will it be able to produce dependency modules that we can trust to be identical across multiple SBT modules? scala-2.12.1.js should never change, scalaz-7.2.9_2.12.js should never change. They should only ever need be emitted once and from then on should be reusable.

If by "pipeline" you mean previously emitted JS files, then awesome, that's the gist of the goal here.

I actually meant the linking pipeline in that sentence: reachability analysis, optimizer, refiner, and IR->JS AST. But elsewhere when I talk about "the Emitter can only re-emit the .js files for which something in their content has changed", that's what I mean.

In your vision, @sjrd, where we can instruct the linker to emit multiple modules, will it be able to produce dependency modules that we can trust to be identical across multiple SBT modules?

No, it won't be possible. But you shouldn't have to. You should have only one leaf sbt project that gathers everything Scala.js. Then, specifying how to split that into ES modules, you have the opportunity to put the various conceptual leaf modules in separate ES modules. Finally, selecting those as separate entry points for Webpack will do what you want.

scala-2.12.1.js should never change, scalaz-7.2.9_2.12.js should never change. They should only ever need be emitted once and from then on should be reusable.

I've seen this argument many times (in other discussions with other people), and answered many times as well: that won't happen. The link-time behavior needs the whole-program, and that means that scala-2.12.1.js will not be same for two Scala.js applications.
This is a fundamental design choice that was made years ago, and which will not change. It is a trade-off. Other compile-to-JS languages make a different choice (e.g., BuckleScript). Both designs have their advantages and disadvantages. In Scala.js we chose the whole-program approach.

that won't happen. …  scala-2.12.1.js will not be same for two Scala.js applications.
This is a fundamental design choice that was made years ago, and which will not change. It is a trade-off.

Fair enough. I understand the pain of trade-offs and while I don't know the details of this particular situation, Scala.JS has been consistently awesome and eclipsed competitors in the early days and it seems that whatever you purchased with your trade-off choices has been highly advantageous. I'll stop barking up that tree then. It was a nice vision but oh well.

You should have only one leaf sbt project that gathers everything Scala.js. Then, specifying how to split that into ES modules, you have the opportunity to put the various conceptual leaf modules in separate ES modules. Finally, selecting those as separate entry points for Webpack will do what you want.

I didn't think of that. Conceptually that would be fine, solve all the problems and support all the things. My only concern with that is performance. Performance is a really big deal when we're talking about processing between saving a source file, and tests running or the browser refreshing. I worry that:

Scala.JS already takes a long time to Scala→→JS for large projects. Will this get even slower?
An umbrella project would mean that in order to produce or compile a single module, all other modules would need to be compiled and processed.

What are the gains/losses involved in the "link-time behavior needs the whole program" trade-off? Perhaps there are some existing notes/discussions around that from which we can learn more?

@sjrd

No, it won't be possible. But you shouldn't have to. You should have only one leaf sbt project that gathers everything Scala.js. Then, specifying how to split that into ES modules, you have the opportunity to put the various conceptual leaf modules in separate ES modules. Finally, selecting those as separate entry points for Webpack will do what you want.

Is it something possible now?

No. Has there been any new development that suggests it would?

Don't know if this will solve your problem, but in a recent project, extremely slow webpack behavior was caused by babel-loader automatically processing everything not explicitly excluded.  With that fixed there was no delay.  We put the scala.js files in a \static directory (outside the \src tree), and in the webpack configuration babel-loader section, configured \static to not be transpiled.
      {
        test: /\.js$/,
        loader: 'babel-loader',
        include: projectRoot,
        exclude: /(node_modules|static)/
      },

@Mark-L6n I guess you were referring to the slowness I mentioned. We don't have babel-loader in this project. I isolated it to webpack parsing the -fastopt.js, so setting noParse helped, but at the cost of not able to use @JSImport in Scala files.

I'm going to close this as dupe of #2681 since they have the same end goal.


Reenable compactmap, stateWriter, withdependencies, language-puppet

Two issues:
base-<IP_ADDRESS> is out of bounds for:

[ ] http-media-0.7.1 (>=4.7 && < 4.10). No maintainer. @zmthy. Used by: library

megaparsec-5.3.1 (Mark Karpov<EMAIL_ADDRESS>@mrkkrp) is out of bounds for:

[ ] language-puppet-1.3.9 (==6.*). Simon Marechal<EMAIL_ADDRESS>@bartavelle. @bartavelle. Used by: library, executable, test-suite

The second one is due to a currently active upper bound on megaparsec.

I should have checked travis output before that. Let's hope the http-media problem is also about language-puppet ...


ActiveMQ Scaler - getting error "invalid character '<' looking for beginning of value"

Discussed in https://github.com/kedacore/keda/discussions/4255

Originally posted by frachel February 20, 2023
I set up an ActiveMQ scaler but it's not working.
I looked at the scaler source code to see how it constructs the URL, using the exact URL it constructs manually I can successfully curl/postman or use a web browser to get a valid response, however K8s when I describe the ScaledObject I see this:
Warning  KEDAScalerFailed    16s (x7 over 3m17s)  keda-operator  error inspecting ActiveMQ queue size: invalid character '<' looking for beginning of value

We are using ActiveMQ 5.17.3. Based on the code I think this error is thrown by the json parser for the response?
This is the response I get (from curl/postman/browser), so not sure where any '<' is coming from:
{"request":{"mbean":"org.apache.activemq:brokerName=localhost,destinationName=ALIP.REQUESTQUEUE,destinationType=Queue,type=Broker","attribute":"QueueSize","type":"read"},"value":0,"timestamp":1676985838,"status":200}

I created this issue from a discussion, which didn't add the "Bug" label, not sure if that's needed or not?

Update: I tried an older version of ActiveMQ - 5.10.2 and it worked. I haven't gone through version-by-version to find out when it broke, but obviously the scaler doesn't work  with 5.17.x


考虑支持 rustc unstable flag sanitizer 作为动态检查工具？

Rust 编译器有一个不稳定的代码安全质量检查标志： https://doc.rust-lang.org/nightly/unstable-book/compiler-flags/sanitizer.html

Sanitizers are tools that help detect and prevent various types of bugs and vulnerabilities in software. They are available in compilers and work by instrumenting the code to add additional runtime checks. ...
they are typically used alongside other best practices in software development, such as testing and fuzzing, to ensure the highest level of software quality and security.

This feature allows for use of one of following sanitizers:

Those intended for testing or fuzzing (but not production use):

AddressSanitizer a fast memory error detector.
HWAddressSanitizer a memory error detector similar to
AddressSanitizer, but based on partial hardware assistance.
LeakSanitizer a run-time memory leak detector.
MemorySanitizer a detector of uninitialized reads.
ThreadSanitizer a fast data race detector.

Those that apart from testing, may be used in production:

ControlFlowIntegrity LLVM Control Flow Integrity
(CFI) provides forward-edge control flow protection.
DataFlowSanitizer a generic dynamic data flow analysis
framework.
KernelControlFlowIntegrity LLVM Kernel
Control Flow Integrity (KCFI) provides forward-edge control flow protection
for operating systems kernels.
MemTagSanitizer fast memory error detector based on
Armv8.5-A Memory Tagging Extension.
SafeStack provides backward-edge control flow protection by
separating the stack into safe and unsafe regions.
ShadowCallStack provides backward-edge control flow
protection (aarch64 only).

target-spec-json 编译选项可知道当前架构支持哪些检查类型，输出示例 #25
{
  "arch": "x86_64",
  "supported-sanitizers": [
    "address",
    "leak",
    "memory",
    "thread",
    "cfi",
    "kcfi",
    "safestack",
    "dataflow"
  ]
}

{
  "arch": "riscv64",
  "supported-sanitizers": [
    "kernel-address"
  ]
}

官方 rustc 开发指南有专门一节介绍 sanitizer：https://rustc-dev-guide.rust-lang.org/sanitizers.html

cargo-careful 有一节介绍 sanitizer 标志： https://github.com/RalfJung/cargo-careful?tab=readme-ov-file#sanitizing


how can I select lyrics word ?

how can I select a single lyrics word?

You can see my example:
https://snack.expo.dev/@hoanganhken/react-native-lyric-example
link lyrics:
https://www.lyricsify.com/


Test PR for #36

Description
This is a test PR for #36.
The path filters have been modified in this PR, such that
czishrink -> unchanged
czicompress -> changed
This PR is not meant to be merged.

Abandoning this PR. It's not working.


Title should be in the center of free space

Title is in the center of the window and I think it should be in the center of free space so not including the buttons because when window is small (width 250 + windows 10 + "C:\windows" title)
You can see this in this demo https://codepen.io/jcubic/pen/WZvYGj just edit the resizable width and then change type to windows and resize the window.

To fix this you need to set the right property of the title to width of the buttons.

I've fix this by applying:
.shell.windows .status-bar .title {
    right: 106px;
}

Unfortunately you are using a previous version of the library that I will no longer support. Please use the new version instead or fix as you can.


web IP address to view map (local)

Hello there,
I can't seem to figure out the default local IP address for map.
Thanks in advance for help.
Cepumins

python3.6 web.py -H your ip -P port

Thank you so much! Sorry for the dumb question I'm new with python
Cepumins


componentUrl searches for components in wrong directory

Main App Component with Single File Component using componentUrl doesn't respect this folder "./" notation.
Directory structure in attached pic.
In /app/js directory I have main app.js file and my components are in /app/js/components directory
componentUrl: './components/app.html'
https://xxx.pl/app/components/app.html 404 (Not Found)
componentUrl: 'components/app.html'
https://xxx.pl/app/components/app.html 404 (Not Found)
I need to use:
componentUrl: './js/components/app.html'
which is improper because /components is a subfolder of /js

It is not some kind of import (like in es modules or require), this paths are just strings and get executed on client side (in browser), so you need to make this paths not relative from current file, but relative to your app URL when it is running


Upgraded @babel/preset-env and core-js

This PR upgrades core-js and @babel/preset-env to their latest stable versions.
This will bring some improvements in bundle size (more details here) and reduce some incompatibility issues with Storybook (there could be more tools, but I've only experienced issues with Storybook).

Assuming this PR will go through, and although the build is running fine, is there a way to release this as a beta, or RC first?
Given the nature of the change, I'd feel safer if I took it for a spin on my project just to confirm everything still works fine. :slightly_smiling_face:

Will probably be incorporating this in an upcoming project - so I would also be willing to try it out!
Was going to suggest a branch with the dist/ included - but because this is a monorepo - may not be easy to include as an npm dep...

Is there a workaround to be able to include this as this library seems abandoned...


Data Analysis - discuss data formats with other teams

Overview
Discuss available formats (Json, shapefiles etc.) with other teams
Action Items
Raise this question in general meeintg
Resources/Instructions

Today we had some discussions with the other teams! I am writing up a few Github issues that came out of those discussions.


Feature request

I have this error: https://hastebin.com/nelowihuge.yaml, This is traced back into LWC because the plugin was trying to get the player's groups
which then goes into the vault handler, which it seems PowerRanks does not provide correctly.

Thanks for reporting this issue.
The problem has to do with a casting issue.
This has been fixed in commit 4b5525d
It will be available in the next release of PowerRanks (v1.9.3)

New version (v1.9.3) is available on spigotmc


Relocate weaveDNS executable inside router image

Move weaveDNS executable into weave image
Remove weaveDNS image
Start weaveDNS by specifying distinct entrypoint

Requires changes to script, makefile, Dockerfiles, and some docs.
Depends on #840.

This doesn't really depend on #840.

This has been superseded by #826


MultiScaleRoIAlign creates a type mismatch when using mixed precision training with Apex

🐛 Bug

To Reproduce
Steps to reproduce the behavior:

Use this tutorial https://pytorch.org/tutorials/intermediate/torchvision_tutorial.html
Initialize the model & optimizer using model, optimizer = apex.amp.initialize(model, optimizer, opt_level="O1")
Modify engine.py to use a scaled loss:

optimizer.zero_grad()
# losses.backward()

with amp.scale_loss(losses, optimizer) as scaled_loss:
    scaled_loss.backward()

Expected behavior
There is a type mismatch here: https://github.com/pytorch/vision/blob/master/torchvision/ops/poolers.py#L161 with per_level_feature being float16 and rois_per_level being float32
I made a workaround like this:
if per_level_feature.dtype != rois_per_level.dtype:
    rois_per_level = rois_per_level.type(per_level_feature.dtype)

But I suspect there is a more robust way or ensuring the ROI data types are consistent

@Anjum48 I've sent a PR in https://github.com/pytorch/vision/pull/1341 to try to fix this, can you let me know if it works for you?

Thanks for the quick PR! I'm still getting a similar error to before:
Traceback (most recent call last):
  File "/home/anjum/PycharmProjects/kaggle/open_images_2019/object_detection/resnet.py", line 278, in <module>
    main(args)
  File "/home/anjum/PycharmProjects/kaggle/open_images_2019/object_detection/resnet.py", line 174, in main
    train_one_epoch(model, optimizer, train_loader, device, epoch, print_freq=100)
  File "/home/anjum/PycharmProjects/kaggle/open_images_2019/references/detection/engine.py", line 31, in train_one_epoch
    loss_dict = model(images, targets)
  File "/home/anjum/anaconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 547, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/anjum/anaconda3/lib/python3.7/site-packages/apex/parallel/distributed.py", line 560, in forward
    result = self.module(*inputs, **kwargs)
  File "/home/anjum/anaconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 547, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/anjum/anaconda3/lib/python3.7/site-packages/torchvision/models/detection/generalized_rcnn.py", line 52, in forward
    detections, detector_losses = self.roi_heads(features, proposals, images.image_sizes, targets)
  File "/home/anjum/anaconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 547, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/anjum/anaconda3/lib/python3.7/site-packages/torchvision/models/detection/roi_heads.py", line 540, in forward
    box_features = self.box_roi_pool(features, proposals, image_shapes)
  File "/home/anjum/anaconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 547, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/anjum/anaconda3/lib/python3.7/site-packages/torchvision/ops/poolers.py", line 166, in forward
    spatial_scale=scale, sampling_ratio=self.sampling_ratio
  File "/home/anjum/anaconda3/lib/python3.7/site-packages/torchvision/ops/roi_align.py", line 69, in roi_align
    return _RoIAlignFunction.apply(input, rois, output_size, spatial_scale, sampling_ratio)
  File "/home/anjum/anaconda3/lib/python3.7/site-packages/torchvision/ops/roi_align.py", line 24, in forward
    output_size[0], output_size[1], sampling_ratio)
RuntimeError: Expected tensor for argument #1 'input' to have the same type as tensor for argument #2 'rois'; but type Variable[CUDAHalfType] does not equal Variable[CUDAFloatType] (while checking arguments for ROIAlign_forward_cuda) (checkSameType at /opt/conda/conda-bld/pytorch_1565272271120/work/aten/src/ATen/TensorUtils.cpp:140)

Adding my workaround above helps it get working again.

Does this tensor need it's dtype set in the same manner? https://github.com/pytorch/vision/blob/master/torchvision/ops/poolers.py#L101

@Anjum48 that part doesn't need a dtype I think, because we convert it to a python number just afterwards.
I'll try debugging it further then, but thanks for the heads up that this wasn't enough

Found a fix, will be pushing it to that PR shortly


Put the path configuration in a case switch based on the default shell

closes #112

Works on my machine!


Display entitlement key in symbol reference

Bug/issue #, if applicable:  129540266
Summary
Property list keys that define a human readable title (https://github.com/swiftlang/swift-docc/pull/987) should show the key name under the abstract when referenced form another symbol.
This pr adds the implementation to get this working by passing the property list key information to the topic render reference.
Dependencies
N/A
Testing
Steps:

Preview the attached docc archive.
Assert that in the top level page, the foo symbol displays the key name under the abstract section.

plistkey.docc.zip
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[X] Added tests
[X] Ran the ./bin/test script and it succeeded
[ ] Updated documentation if necessary

@swift-ci please test


Unable to find control that displays list of threads of a participants

What feature are you requesting?
A React control that takes the endpoint, userid, token and displays the previous conversations\threadid that that users have participated.
What would be the benefit of adding this feature?
This way "Authenticated Customers" could see their chat/conversations history instead of only creating a new thread.
Thanks!

At this time we are focusing on building components that customers want to use in a majority of cases. We are open to proposals about features that people may want and are happy to also provide review if anyone would want to submit any components as well.
Perhaps you can create something and share it with us? We would love to see what you are envisioning with this type of thread list component? Perhaps we can move this issue to be more a discussion?
Going to close now but feel free to re-open and share any new details as to how we can help you out?


Including page-object in the Gemfile includes watir, even if you use selenium

Hi,
Would it be possible to create separate gems like:
page-object-selenium
page-object-watir
That would essentially require only one of the frameworks? I believe page-object doesn't require watir to work properly, so always requiring it pollutes the dependencies of a project.

The current design of Page-Object is very dependent on Watir.
The original design of Page-Object did have a large separation between the Selenium vs Watir support. However, this generated a lot of code duplication between Page-Object and Watir. Watir already wraps Selenium objects to provide a lot of easier to use methods. Page-Object's Selenium support basically did the same thing - ie wrap Selenium objects to provide the same functionality as Watir methods. As a result, the current design has been switched to take the Selenium object you provide, convert it to a Watir object and then use that in the Page-Object. For example, #wait_until now just delegates to Watir's respective method.

The current design of Page-Object is very dependent on Watir.
The original design of Page-Object did have a large separation between the Selenium vs Watir support. However, this generated a lot of code duplication between Page-Object and Watir. Watir already wraps Selenium objects to provide a lot of easier to use methods. Page-Object's Selenium support basically did the same thing - ie wrap Selenium objects to provide the same functionality as Watir methods. As a result, the current design has been switched to take the Selenium object you provide, convert it to a Watir object and then use that in the Page-Object. For example, #wait_until now just delegates to Watir's respective method.

Fair due, I wrote this comment and then looked into watir more. I actually just moved our suite to watir, and it works quite nicely.

Fair due, I wrote this comment and then looked into watir more. I actually just moved our suite to watir, and it works quite nicely.


Road to big new Version 2.0.0

[ ] MirrorX / MirrorY are broken
[ ] make a video to show off new features
[x] Setting Autostart in the registry does not work after upgrading
[x] everything else is done 😎

Good to hear !
I can't wait to see the video where you show off new features.

Any update on the coming version ?

Great, I hope it will not be too much troubles to make it work with my WS811 LED strip. Can not wait to try it out ! Thank you for your work.

It is done!
Video: https://www.youtube.com/watch?v=tP5hQT-6zU0
Release: https://github.com/fabsenet/adrilight/releases/tag/v2.0.3


Timeline month display incorrect & Heatmap in timeline page not functioning?

Describe the bug
It seems that the timeline page in the new version displays the month incorrectly? I have been using two computers and two browsers to test that, both my docker and the demo page, the month always shows one month ago.
That is, for the memos created in Jan 2024, the timeline will show it as created in Dec 2023. Please see the screenshot for demonstration.
Besides, I see that there is the heatmap relocated to the timeline page, but I do see any color variations or click to navigate to that date function. Is that still developing?
Thank you very much.

Steps to reproduce

Go to timeline page
Month is not the current month, but current month - 1

The version of Memos you're using
0.18.2
Screenshots or additional context
No response

Cannot reproduce in demo site. Maybe try again with the latest image?

Thank you for your reply, I just used my phone to browse the demo site, it still shows Dec, rather than Jan.boojack @.***>於2024年1月18日 下午6:34寫道：
Cannot reproduce in demo site. Maybe try again with the latest image?
image.png (view on web)
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Safari and Chrome have different behaviors here, Chrome has better compatibility with date formats.
Safari:

Chrome:


Added another project in mobile dev

Changes proposed
Added newpipe project.

@kaiwalyakoparkar Please review this PR.

@kaiwalyakoparkar I have fixed the link, please review it.

@kaiwalyakoparkar I think this PR is ready to be merged.


export as NSData

Hi Adam,
I'm trying to save / reload the drawings with core data using NSData. I know that its relying on the documents directory now, but I can't quite figure out how to manage implementation of the NSData Persistence.
As its creator, any tips or advice would be appreciated.
I love what you've created so far. Amazing creativity and generosity.
Thank You!

The three objects sent to the completion handler of [JotView exportImageTo:andThumbnailTo:andStateTo:withThumbnailScale:onComplete:] are the same object that are written to disk in the private method [JotView exportImageTo:andThumbnailTo:andStateTo:andJotState:withThumbnailScale:onComplete:]. You can delete the disk writing operations there, and then save those three objects (UIImage* ink, UIImage* thumb, JotViewImmutableState* state) however you'd like to core data.
Then on load, create a subclass of JotViewStateProxy and hydrate it from whatever you've loaded from core data. Passing that JotViewStateProxy subclass into [JotView loadState:] should load in just fine.
You'll need to:

modify JotViewImmutableState to return the NSCoding-safe dictionary from writeToFile: instead of writing it, then save that result however you'd like
subclass JotViewStateProxy to load in whatever you just saved and send that to loadState:

Glad you're enjoying JotUI! and glad to hear it's been helpful!

Success!! Get a huge NSData file, but I'm able to save and reload from it. Would you like to create a PR for it?

Glad you got it working!
and Yes that'd be awesome for the PR! As long as it retains backwards compatibility and still adds support for optional NSData saving, that'd be awesome :)

actually not fully working. I'm running into the following issues when I try to reload the data:
should be this:

but I'm getting this:

I'll create a PR of what I've got so far in a few minutes, so hopefully you can see the process on your end.

figured it out! Updating the PR in a few. Your initial advice was very helpful. The key was saving the NSData from the dictionary that was created in write to disk function.


Specifically document what happens if CancellationToken is cancelled during SaveChangesAsync

The page should specifically note what happens if the cancellation token is cancelled DURING the SaveChangesAsync operation.   Are the actions that SaveChangesAsync is writing to the database rolled back, completed or canceled partially?   There are "assumptions" made on other internet sites (stack overflow, reddit) that presume the entire SaveChangesAsync operation is rolled back but I can't quickly confirm it in MS documents.

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

ID: aece550f-d934-0dae-c3ac-0d9b3660bd1a
Version Independent ID: aebedd48-a65c-c92e-ab4f-f7b4fe467e03
Content: DbContext.SaveChangesAsync Method (Microsoft.EntityFrameworkCore)
Content Source: dotnet/xml/Microsoft.EntityFrameworkCore/DbContext.xml
Product: ef-core-api
GitHub Login: @dotnet-bot
Microsoft Alias: avickers

@ChrisGroupScape it's fairly universal that triggering a cancellation token cancels the entire operation represented by the method to which it was passed; in other words, no changes would be committed if the cancellation takes effect.
However, since cancellation is a concurrent operation, it's inherently prone to race conditions, and there's no guarantee that the cancellation will be applied before the operation is committed.


[Experimental] Add entrypoint for CREATE/DROP catalog

存在相关的案例, 见如下:
https://github.com/trinodb/trino/pull/11096
该PR也给出了评论相关的缺陷, 搬运如下:

it looks like the REST api only works for the coordinator. The changes are not passed to the workers as far as I can see. As a result, the query processing can only happen on the coordinator (node-scheduler.include-coordinator=true). I can see that in your changes the announcer is also present, but don't really understand yet what it does exactly. Am I missing something here? Were you able to successfully push the changes to the workers? If so, how?

(less important) Currently the changes are made in memory, which I think would be okay for now. However, it would be really nice if Coordinator and Worker would share a remote FileSystem, so that changes to properties would only happen in one place.

同时官方也在推进支持动态新增/删除catalog的能力, 见如下:
https://github.com/trinodb/trino/pull/13931
不同于提供HTTP接口的方案, 而是选择完善trino#sql的语法, 暴露相关的关键字去支持该能力.
官方的说法是, 不希望暴露过多的接口，因为需要考量到网络安全的问题. 这一块在presto也有相关的案例及争议, 见如下:
https://github.com/prestodb/presto/pull/12605

个人看法，既然对动态新增/删除数据源有需求.
先不去争论哪种技术方案更可取, 而是应该考虑在历史版本中如何满足业务需求.
拿阿里云EMR的主流版本来分析, 目前最新的5.9.x 支持Trino的版本是389.
目前使用的stable版本相比官方给出的方案版本, 滞后了太多, 以上给出过渡方案.
当然, 如果官方给出的解决方案合入master分支后, 想做版本功能迁移且不想变更方案的话, 可以另起issue, 当然欢迎PR.


Ruby 2.4

Remove references to Fixnum and Bignum (as these are deprecated) and instead determine the correct type sizes when an Integer or Float are encountered in array translation.  This should be backwards compatible with Ruby 2.3.x versions.
Integers can be converted via .to_ptr() with :long for 64-bit values and :int for 32-bit values.
Floats can be converted in a similar fashion, albeit using :double or :float for double and single-precision, respectively.

Confirmed to work on Ruby 2.3.3


 It would be helpful to the user if this scenario was handled by showing an error message.

Duplicate (somewhat) of #68


Retrieve resource_name for an org

Hi guys,
from the current documentation of the confluent_role_binding resource it is not clear how a role binding of a role on organization level can be done.
I was expecting something like this:
resource "confluent_role_binding" "some-role-binding" {
  principal   = "User:${confluent_service_account.some-service-account.id}"
  role_name   = "MetricsViewer"
}

But crn_pattern is a required attribute.
It would be great if you could add an example to the documentation which shows how to use the confluent_role_binding for such a scenario.
Btw. as a mitigation I tried to bind the role on environment level instead, but this is giving me an Error: error creating Role Binding: 400 Bad Request error:
resource "confluent_role_binding" "some-role-binding" {
  principal   = "User:${confluent_service_account.some-service-account.id}"
  role_name   = "MetricsViewer"
  crn_pattern = confluent_environment.some-env.resource_name
}

Is this supposed to work?
Greetings
Valentin

Thanks for reporting the issue @vweckerle!
Just opened https://github.com/confluentinc/terraform-provider-confluent/issues/21 to address your second concern and TLDR the error is:
{"error_code":40002,"message":"Role MetricsViewer must be bound at scope organization, but was bound at environment"}

For a quick and hacky workaround we'd suggest something like:
resource "confluent_role_binding" "environment-example-rb" {
  principal   = "User:${confluent_service_account.app-manager.id}"
  role_name   = "MetricsViewer"
  crn_pattern = substr(confluent_environment.staging.resource_name, 0, local.org_name_length)
}

locals {
   org_name_length = 71
}

But I'll keep this issue open to address it in a non-hacky way 👌

Hi @linouk23, thanks for the quick reply. It is interesting to see that the API and the confluent CLI seem to behave differently in this case. Via confluent CLI it is possible to assign the MetricsViewer role for an environment:
$ confluent iam rbac role-binding create --role MetricsViewer --principal User:sa-xxx --environment env-aaa
+-----------+----------------+
| Principal | User:sa-xxx |
| Role      | MetricsViewer  |
+-----------+----------------+
$ confluent iam rbac role-binding list --principal User:sa-xxx
    Principal    | Email |     Role      | Environment | Cloud Cluster | Cluster Type | Logical Cluster | Resource Type | Name | Pattern Type
-----------------+-------+---------------+-------------+---------------+--------------+-----------------+---------------+------+---------------
  User:sa-xxx |       | MetricsViewer | env-aaa   |               |              |                 |               |      |

So I was assuming this is a valid use case (but in our scenario, we want to set it globally anyway so it is not critical for us).
Greetings
Valentin

@vweckerle thanks for asking! It does look a bit suspicious so I pinged our CLI team and they'll investigate it.

From the admin dashboard, MetricsViewer created with an env specified will be created as a EnvironmentMetricsViewer, but when calling list api it returns as just MetricsViewer so that's the confusion. If we only want to support org level metrics viewers, we might need to change the api, but cli can do a temp fix to disallow creating with env.

@vweckerle there's an update regarding

It does look a bit suspicious so I pinged our CLI team and they'll investigate it.

The role is being displayed as MetricsViewer and not EnvironmentMetricsViewer because CLI isn't using the latest version of our internal APIs (once CLI starts using the latest version, the role will be displayed as EnvironmentMetricsViewer).

@vweckerle we're happy to let you know that we shipped confluent_organization data source in our latest 0.8.0 release so now you can do:
resource "confluent_role_binding" "org-example-rb" {
  principal   = "User:${confluent_service_account.test.id}"
  role_name   = "MetricsViewer"
  crn_pattern = data.confluent_organization.demo.resource_name
}


package provider code cleanup

yeah those were autofixed by rubocop and fall below my "time to care" radar to tidy up...
still working on this and want to add shell_out_compact! usage everywhere which is more important than most of the style fixes...

backed out all the windows changes due to shell_out not taking arrays and thus shell_out_compact and friends not working at all on windows (which is disappointing)
also rebased to deal with all the merge conflicts that have happened since then.
also backed out the yum changes since that had a huge amount of merge conflicts and sorta needs to get redone.


Multi cohort

This PR allows to use several CAPS for train / classify

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

In the file clinicadl/clinicadl/tools/tsv/tsv_utils.py:

Line 145:42: W292 no newline at end of file


Enable Connecting to Serial Ports metadata

Add serial port enable to instance creation. see this for future reference. https://cloud.google.com/compute/docs/instances/interacting-with-serial-console

This is better handled outside of orchestrate. It can be accomplished by any of the following:

Running once in the project to enable/disable for all instances: gcloud compute project-info add-metadata --metadata serial-port-enable=TRUE
Add metadata to template, e.g. orchestrate templates create ..... --metadata=serial-port-enable=TRUE
Add metadata on a per-instance basis upon creation, e.g. orchestrate instances create ... --metdata=serial-port-enable=TRUE


The RequestMessage is not set on the response

The TestableHttpMessageHandler doesn't add the original HttpRequestMessage to the HttpResponseMessage.RequestMessage. Some libraries rely on this property being set.
To Reproduce
Code example that reproduces the behavior:
[Fact]
public async Task Issue()
{
   var handler = new TestableHttpMessageHandler();
   var client = handler.CreateClient();
   var response = await client.Get("http://example.com");
   Assert.IsNotNull(response.RequestMessage);
}

Expected behavior
RequestMessage is filled when a request is made.
Background (please complete the following information):

Version of library: 0.5
Version of dotnet core: any

The question is whether the TestableHttpMessageHandler should update the response, even if there was already a RequestMessage set... I am inclined to say no, but this means a big change in the implementation that involves cloning of responses.


Double format and complex format should be %f, not %g

Problem description
Currently, double and complex format is %g.  After a very long run, cumulative values (e.g., house panel energy) lose precision and the first difference tends to zero.  This is incorrect and can be fixed using %f instead.

This has already been done.


uninitialized constant Trollop

The latest commit (6dcae8eec5386dbb8047c2518971aa461d9b3456) and release moved from trollop to optimist, but it left at least one reference to Trollop in the code:
https://github.com/AtelierConvivialite/webtranslateit/blob/6dcae8eec5386dbb8047c2518971aa461d9b3456/bin/wti#L120
If you run the wti command with wti help (for example), the CLI errors out with:
.../gems/web_translate_it-2.4.8/bin/wti:120:in `<top (required)>': uninitialized constant Trollop (NameError)

Thanks for reporting this issue. It will be fixed in the next release.


fix common realloc mistake and add null check more

1] hiredis is client library, so need more null check and memory lick check.
because using null ptr can destroy application.
2] I refered https://www.mantidproject.org/How_to_fix_CppCheck_Errors for realloc issue.

Any reason we can't merge this? Seems fine to me. Though, fighting against NULL returns from malloc is always an uphill battle..

Looks OK to me.  Like you say once you start getting NULL from malloc you probably have bigger problems, but it's certainly more correct.


JWTVerifier with varargs is ambiguous

Description
The methods public Verification withIssuer(String... issuer) and public Verification withAudience(String... audience) in JWTVerifier are designed to either remove a claim OR not set the claim if the passed argument is null.
However, considering the parameters are varags it is very ambiguous when calling this, and at runtime, the actual result is often a list containing a null.  The result is that it considers this a valid claim, and the claim required is null which can never be satisfied.
This comes about specifically when using com.auth0.spring.security.api.JwtAuthenticationProvider in auth0-spring-security-api which builds a JWTVerifier always passing a audience.  I have no audience, but passing a null through here, is translated into a list of a single null value.
Environment
com.auth0:auth0-spring-security-api:1.2.3
com.auth0:java-jwt:3.8.1
Reproduction
Using the Spring security library above in the basic example of:
JwtWebSecurityConfigurer
                .forHS256WithBase64Secret(null, config.issuer, config.secret)
                .configure(http)
                .headers().frameOptions().disable().and()
                .formLogin().disable()
                .cors().and().csrf().disable()
                .authorizeRequests()
                .anyRequest().permitAll()

demonstrates this bug. The key line is passing null as the first parameter to forHS256WithBase64Secret  A token containing no aud claim will be rejected with error The Claim 'aud' value doesn't contain the required audience..
Passing an empty string obviously also fails - which means there is no way I can use this library without an aud.  Regardless of ideals, for my use where we do not specify an audience in our JWTs, we cannot use this library.

@lbalmaceda

Passing an empty string obviously also fails - which means there is no way I can use this library without an aud.

This issue should have been created on the auth0-spring-security-api SDK, not on this repo. Like the name of the library says, it's supposed to be used on a server side app that acts as an API. An audience will always be expected for you to set. Maybe the issue is that that library is not checking the presence of that required value. What is your use case that you have "no audience"?

but passing a null through here, is translated into a list of a single null value.

Regarding this SDK's public API, the way it is supposed to work is if you pass withAudience("my audience") to the verifier builder you are implying that you expect a given audience value. If you pass null, that expectation (if one was set) should be removed. I'd expect that passing withAudience(null) removes the check. And that is being tested here.


Manual?

Is there a manual or guide showing how to import csv files? I can't work out how to import files frm my bank.

I'll try to make one simple guide in 3days.
thx101 @.***> 于 2023年11月3日周五 22:39写道：

Is there a manual or guide showing how to import csv files? I can't work
out how to import files frm my bank.
—
Reply to this email directly, view it on GitHub
https://github.com/xvzan/SimpleMoneyTracker/issues/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCRRKMXIYSR6I5TTFZBHR3YCT63VAVCNFSM6AAAAAA64RHGGGVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE3TMMZVGA3TGNA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

虽然简介中写的是导入csv文件，但现在导入导出的文件已经改成使用制表符TAB分割的无扩展名的纯文本文件。
Although the introduction states to import csv files, the import/export file has now been changed to a plain text file separated by the TAB with no filename extension.
在程序中没有账户（Account）的情况下，点击导入/导出按钮可从文件导入账户和交易。
If there are no Accounts in the program, clicking on the Import/Export button will import accounts and transactions from a file.
如果程序中存在账户（Account），则导入/导出按钮提供的是导出的功能。
If there are Accounts in the program, the Import/Export button provides the ability to export.
要导入的账户和交易文件应放在<phone storage>/Android/data/com.xvzan.simplemoneytracker/files/import/accounts和<phone storage>/Android/data/com.xvzan.simplemoneytracker/files/import/transcations。
The location of the account and transaction files to be imported should be <phone storage>/Android/data/com.xvzan.simplemoneytracker/files/import/accounts and <phone storage>/Android/data/com.xvzan.simplemoneytracker/files/import/transcations.

对应位置不存在账户和交易文件的情况
对应位置存在账户和交易文件的情况

When there is no account and transaction file in the corresponding location
When there exists account and transaction file in the corresponding location

导入界面会提示程序读取账户和交易文件的地址，将两个文件放至指定位置，点击导入按钮可导入账户和交易。
The Import screen prompts the program to read the addresses of the Account and Transaction files, place the two files in the specified locations, and click the Import button to import the Accounts and Transactions.

图中所示的账户和交易对应的账户和交易文件格式见下面的压缩包：
The format of the account and transaction files corresponding to the accounts and transactions shown above is in the following zip file:
import.zip

账户文件每行包含账户名称和一个表示账户类型的整数。
Each line of the account file contains the name of the account and an integer indicating the type of account.
Equity	4
Asset01	0
Liability02	1
Income01	2
Expense01	3
Expense02	3

交易文件大致如下：包含交易时刻、账户名称、用于不同统计和显示的三个整数。
The transaction file is roughly as follows: it contains the moment of the transaction, the name of the account, and three integers for different statistics and displays.
2023/11/07 09:59:09	Asset01	Income01	12300	12300	12300
2023/11/07 09:59:19	Asset01	Expense01	100	100	-100
2023/11/07 10:19:06	Liability02	Expense01	200	200	200
2023/11/07 10:19:38	Asset01	Liability02	200	-200	-200

Thanks. It  helps.


Add endpoint for deleting company list contents

Description of change
This add the following endpoint:

DELETE /v4/company-list/<company list ID>/<company ID>

It removes a company from the user's own selected list of companies.
If the operation is successful, a 2xx status code will be returned. If there is no company list with specified company list ID or company with the specified company ID, a 404 wil lbe returned.
Checklist

[x] Has a new newsfragment been created? Check changelog/README.rst for instructions
[x] Do any added or updated endpoints appear in the API documentation? See docs/Maintaining the API documentation.md for more details
[ ] Have any relevant search models been updated?
[ ] Have any relevant fixtures (fixtures/test_data.yaml) been updated?
[ ] Have any relevant select-/prefetch-related field lists in the views and search apps been updated?
[ ] Has the admin site been updated (for new models, fields etc.)?
[ ] Has the README been updated (if needed)?

I will add it on top of different branch.


Fixes grammar and OTP corrections

Grammar fixes and addressing OTP corrections from previous merge for Vietnamese only.

Change "use_totp" back to "opt", it was "use_otp" that needed to be renamed to "use_totp" but that's already fixed now.

Reverted.