Provide ability to depend on a task in continuous mode

Provide ability to depend on a task in continuous mode.
Expected Behavior
When a task is executed (for example a server is started), it starts another task in continuous mode. When the main task is finished, the continuous build of the dependent task is finished as well.
Current Behavior
There is no way currently to depend on a task in continuous mode.
Context
I came across this issue with gradle-compass plugin. With compass watch mode not working I suggested an alternative of using composite build functionality instead: ./gradlew -t compassCompile.
However, one thing that was possible with a dedicated watch mode was starting and stopping the watch task on server start/restart like this:
run.dependsOn compassWatchStart
run.finalizedBy compassWatchStop

To ensure continuous build parity with custom watch modes, it would be nice to be able to specify that the run task starts compassCompile task in continuous mode and stops the continuous build after it's finished.

I don't think that's the way to model it. Instead, the run task should be started in continuous mode and use the deployment API to either do a full or incremental deploy. That's what the Play plugin does.
As such I think this is a duplicate of https://github.com/gradle/gradle/issues/2336

@oehme I don't understand how the other issue would address this use case.
Note that run and compileCompass tasks are completely independent and come from different plugins. The first one could be for example bootRun from Spring Boot with developer tools enabled so that you wouldn't need to start it in continuous mode. It's the second task that you want to be run continuously, for example to compile SASS to CSS.

bootRun should be started in continous mode. It would just see that the app is already running and do nothing in that case. That's the same we do for playRun. The play framework takes care of the reloading, the Gradle task just makes sure the server is running.

I guess you can but I don't see how it helps if you use developer tools. That's not the point of the issue though. How will deployment API help you to execute a completely independent task continuously when you are running your app?

 Whenever Gradle detects a change, these tasks are re-executed. run only starts the app once (through the deployment API) and keeps it running on subsequent changes. It only shuts it down when the user exists continuous mode.

Got it, thanks!

It doesn't really work great guys... I would highly recommend a application/devRun default task... people are struggling and sometimes the CLI isn't used to interface with gradle (e.g. intellij IDE gradle Plugin), so we really need this I think.
I was struggling for weeks to get a good dev environment setup and running, because I assumed gradle (a development tool)  already accounted for a dev run configuration, the problem was gradles defaults not the other tool defaults:
(https://stackoverflow.com/questions/73765993/how-to-setup-a-docker-compose-springboot-webserver-mysql-project-using-gradle-an?noredirect=1#comment130270460_73765993).
I will be trying to write the custom gradle devRun task soon, I don't see any other option if I want to use the gradle plugin for dev run.


[RUNTIME] Pass full kwargs to Autotuner hooks instead of positional args

Currently, when there are hooks accessing args in the @triton.autotuner (e.g., pre_hook / post_hook or those created from the restore_value or reset_to_zero) and the kernel arguments are passed as kwargs, this breaks, because the hooks take positional args only.
This PR changes the first parameter of the pre_hook and post_hook of the Autotuner from (partial) args to (full) kwargs. As a result, we now have access to all arguments, positional or keyword, passed to the kernel call. The call sites and docs are updated accordingly.
N.B.: This change is BC-breaking! In the signatures of pre_hook and post_hook, the first parameter type has changed from list (of positional args) to dict (of all kwargs). Submitting, as agreed with @Jokeren and @peterbell10 below.
Fixes #5082. See the failing example, error, and code pointers there.

[x] I am not making a trivial change, such as fixing a typo in a comment.

[x] I have written a PR description following these rules.

[x] I have run pre-commit run --from-ref origin/main --to-ref HEAD.

Select one of the following.

[x] I have added tests.

/python/test for end-to-end tests

[ ] This PR does not need a test because FILL THIS IN.

Select one of the following.

[x] I have not added any lit tests.
[ ] The lit tests I have added follow these best practices,
including the "tests should be minimal" section. (Usually running Python code
and using the instructions it generates is not minimal.)

@Jokeren @peterbell10 changed the code to pass full_nargs to Autotuner's pre_hook and post_hook, similar to what is passed to config.pre_hook. Updated the PR name and summary, calling out the BC-breaking nature of the change. Could you take another look? Thanks!

Cherry picking this to rc/3.2.x since it fixes silent incorrectness in inductor


Replace unmaintained Rust toolchain action

ref: https://github.com/actions-rs/toolchain/issues/216
https://github.com/dtolnay/rust-toolchain

Currently in the "p"s for updating my repos to my latest repo template for rust projects, so haven't gotten here yet

OK．I will avoid replacing other actions any more.


Create semconv-messaging-approvers team

Since there is already a Messaging WG that meets regularly, it would be great to have a github team and related CODEOWNERS updates to involve them in issues and PRs (e.g. #528)
@pyohannes does this make sense to you, and if so could you provide list of people to add?

Great, let's start out with those people:
@lmolkova @carlosalberto @joaopgrassi @dpauls @pyohannes
Anybody in the list who doesn't want to be added, please let us know.
Also, any other volunteers are very welcome :slightly_smiling_face:.

@open-telemetry/specs-semconv-maintainers can you open a community issue, and we can get someone from @open-telemetry/technical-committee to create the group?

Do we need a community issue? In the past TC members created the group from an issue in the semconv repo, like https://github.com/open-telemetry/semantic-conventions/issues/343.
@kamalaboulhosn are you already part of the OTel org? You are welcome to join the group and look at PRs, join the meetings but to be added to the group in GitHub, you need to be part of the OTel org.
If not yet, please take a look at the guidelines in the community repo: https://github.com/open-telemetry/community/blob/main/community-membership.md#member

Team created: https://github.com/orgs/open-telemetry/teams/semconv-messaging-approvers/members

@joaopgrassi I am not, no. I am trying to figure out how to be involved in discussions and decisions that will affect messaging-based products like Google Pub/Sub. There has been some new discussion on these conventions that don't exactly match what we were already planning to do and are deep into the implementation on for our Open Telemetry. Given experience in debugging a wide variety of customer issues that could be helped by telemetry, figured there was an opportunity to help. Looks like the goal is to have Open Telemetry experts rather than people who are necessarily experts in the domain in which the tracing is occurring, though. I probably can't be much help in terms of general Open Telemetry contributions. We can perhaps just proceed with our plan as originally intended and if then refine later if there are some helpful conventions that are established.

Hi @kamalaboulhosn

Looks like the goal is to have Open Telemetry experts rather than people who are necessarily experts in the domain in which the tracing is occurring,

That is absolutely not the case! We do 100% want experts in messaging systems such as yourself to help us validate that what we have designed works and makes sense. So your experience is much needed/wanted!
We have a SIG (special interest group) that meets every Thursday at 8:00 PT. You can find the calendar/zoom link in the community repo Semantic Conventions: Messaging. You can also find our slack channel there. Feel free to drop by.
It would be great if you could join the meetings and share your needs/thoughts on what doesn't match. I'm sure we can learn a lot from you and hopefully arrive at a solution that works for everyone. Once you join the meeting/collaborate, you can apply to the OTel org but you don't need that to get started :).
CC @pyohannes


Type check event handler functions

We should check that the given value is at least callable and raise a type error otherwise: https://github.com/idom-team/idom/blob/92e60b1d5f0057d359a9e12beb8a5de6e9d9b12a/src/idom/core/events.py#L174

This has been resolved in the 0.33 release


Add sparrowhawk tests to jenkins

What does this PR do ?
 Use git commit -s to sign.

PR Type:

[X] Test

If you haven't finished some of the above items you can still open "Draft" PR.

Will reopen PR once the CI tests run correctly


Update version to 1.1.0

Once this version is released I will create another PR to update CITATION.cff with the new commit hash.


Memory leaks on version 3.0.0 and ruby 2.3.3

We have leaking memory with ruby 2.3.3 and libxml-ruby 3.0.0. Is this supposed to be that way (changelog mentions ruby 2.4+) or is it a bug?
If this is a bug, I can provide jemalloc heap dumps that prove the leaks and describe our use patterns of the library (nothing special really, maybe just the fact that we reparent nodes to different documents may be significant).
We've currently rolled back to 2.9.0 which doesn't leak.

Definitely not supposed to be that way.  Posting the heap dumps would be great, thanks.

We ran in to this issue as well, ruby 2.3.4, rails 4.2.10, nokogiri 1.8.1. Segfault with libxml-ruby 3.0.0 seems to work fine with 2.9.0
With 3.0.0, it doesn't segfault after GC.stop, but that's not a great solution.
debug.txt

I don't have access to the project anymore. The xmls we were working with were huge sometimes, like 200 MBs. Hope this helps.


entering dot "."  is giving an error.

Description
What steps will reproduce the problem?

entering dot "."  is giving an error.

What is the expected output? What do you see instead?
Please provide any additional information below
File "/usr/local/lib/python2.7/dist-packages/spyder/utils/introspection/manager.py", line 220, in get_completions
info = self._get_code_info('completions', automatic=automatic)
File "/usr/local/lib/python2.7/dist-packages/spyder/utils/introspection/manager.py", line 216, in _get_code_info
**kwargs)
File "/usr/local/lib/python2.7/dist-packages/spyder/utils/introspection/utils.py", line 75, in init
self._get_info()
File "/usr/local/lib/python2.7/dist-packages/spyder/utils/introspection/utils.py", line 87, in _get_info
lexer = find_lexer_for_filename(self.filename)
File "/usr/local/lib/python2.7/dist-packages/spyder/utils/introspection/utils.py", line 180, in find_lexer_for_filename
lexer = get_lexer_for_filename(filename)
File "/usr/local/lib/python2.7/dist-packages/pygments/lexers/init.py", line 203, in get_lexer_for_filename
res = find_lexer_class_for_filename(_fn, code)
File "/usr/local/lib/python2.7/dist-packages/pygments/lexers/init.py", line 168, in find_lexer_class_for_filename
for cls in find_plugin_lexers():
File "/usr/local/lib/python2.7/dist-packages/pygments/plugin.py", line 53, in find_plugin_lexers
yield entrypoint.load()
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2087, in load
if require: self.require(env, installer)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2100, in require
working_set.resolve(self.dist.requires(self.extras),env,installer)))
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 632, in resolve
raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (setuptools 3.3 (/usr/lib/python2.7/dist-packages), Requirement.parse('setuptools>=18.5'))
Version and main components

Spyder Version: 3.2.4
Python Version: 2.7.6
Qt Versions: 4.8.6, PyQt4 (API v2) 4.10.4 on Linux

Dependencies
pyflakes >=0.5.0  :  1.6.0 (OK)
pycodestyle >=2.3 :  2.3.1 (OK)
pygments >=2.0    :  2.2.0 (OK)
pandas >=0.13.1   :  0.19.1 (OK)
numpy >=1.7       :  1.13.1 (OK)
sphinx >=0.6.6    :  1.6.5 (OK)
rope >=0.9.4      :  0.10.7 (OK)
jedi >=0.9.0      :  0.11.0 (OK)
psutil >=0.3      :  1.2.1 (OK)
nbconvert >=4.0   :  5.3.1 (OK)
sympy >=0.7.3     :  None (NOK)
cython >=0.21     :  0.24 (OK)
qtconsole >=4.2.0 :  4.3.1 (OK)
IPython >=4.0;<6.0:  5.5.0 (OK)
pylint >=0.25     :  1.7.4 (OK)

The error message is quite clear: please update setuptools to fix this problem.


Added Dockerfile

solved this much of issue #1

[x] create dockerfile
[x] build and test

hey @Dhruv-Pattel the Dockerfile is failing some checks and the workflow is unable to modify the errors in it (see the given screenshot). Can you look into it?

LGTM


Don't call random download in setTimeout

Don't call random download in setTimeout
Call processQueue in setInterval (optional if needed)
Move random download to processQueue


re-run baselines for jigen

git checkout fbopt
git pull
bash run_benchmark_slurm.sh examples/benchmark/pacs_jigen_baslines4fbopt.yaml

stopped this, doing #517 first

Started RN


revisit package registration in registry

For now packages are all registered.
We should only register projects.
Before loading a package, we should ensure the project (metadata) is registered in the registry and the version is the same (i.e. I cannot load a package of project v2 if project v1 is registered).
We should also add a way to get installed packages per project

duplicate of #195


RubyXL replaces empty  cells with the value of A1 cell

This bug was discovered when reading Excel files generated with OpenPyXL library.
Normal cells contain XML tags that look like this: <c><v></v></c>
OpenPyXL replaces empty strings with <c></c> tag, while other libraries omit the <c> tag entirely.
Most other libraries and Excel correctly interpret <c></c> tag as empty cell, but RubyXL replaces these tags with the value of A1 cell.

@rpasta42 Can you please provide a sample xlsx file that exhibits that behavior, so I could reproduce the bug locally?

@rpasta42 I did some experiments of my own but I'm unable to reproduce the behavior you describe. Please provide the sample file.


question: would you be interested in a code review of the Go implementation?

Hi there,
I like the concept of documenting CLI tools the same way we do for REST APIs, but I am also a Go expert with opinions on the subject and feel like the API for the library is far from idiomatic.
I could send a bunch of PRs / issues or I could also do a video review (plus a big PR at the end) as I've previously done for my YouTube series justforfunc.
Would you be interested on any of those? Is the API fixed or do you still accept non backwards compatible improvements?
Cheers,
Francesc

I would be very interested! :)

Awesome, I added it to my planning docs. I'll let you know when I review it


Advertising issues

One day I discovered that there were some advertisements on my page. After a long investigation, I found out that they were inserted by modheader. I think your way of inserting advertisements is very shameful. At the very least, it should be emphasized in the advertisement that this advertisement is from modheader. It was inserted without any prompts. Inserting ads greatly affects the user experience. I have uninstalled on this extension so far.

Seconded, the extension attempts to load them from phtracker.com

ModHeader no longer respects the ads opt-out setting. Has this extension been sold recently?

After having randomly appearing "MaxAI.me" ads on the right hand side of my google search results, I started investigating my extensions and found that it was ModHeader that was injecting these into the site. So I started digging around some more and found the following things:
• Original github repos of modheader are gone: https://github.com/bewisse/modheader and https://github.com/modheader/modheader
• Old archived versions list same contributors as the selenium (this) one: Hao1300, Hao4
• https://blog.berd.moe/archives/chrome-malware-extension-modheader/ analysed an older version of ModHeader (3.x) that was already doing shady things (you need to google translate, but the images alone, showing code excerpts and the privacy policy), especially near the end of the blog post, are pretty damning by itself: you're were being forcefully added to a P2P network without consent, and it's casually mentioned in the privacy notice
• The current extension (version 5.0.8) exposes some parts of itself to the internet via "Web Accessible Resources" (https://developer.chrome.com/docs/extensions/mv3/manifest/web_accessible_resources/), a common pattern for malware to "leak information"
• The version that I analysed (version 5.0.8) has phtracker and fpjs fingerprinting baked inside, along with code to modify some sites (i.e. google.com in order to inject ads)
• If you get "ZMO.AI", "MaxAI.me", "ImgCreator.AI" etc ads on the right hand side of your google search results, then this extension is most likely the culprit.
Note: I only did a very quick / preliminary analysis, but there's simply too many red flags for me to keep using this extension.


Error upgrading npm

I am following the instructions step by step. npm-windows-upgrade installed successfully.
But when I run npm-windows-upgrade --npm-path:"C:\NodeJS" --version:3.3.9, I got error.
Output from elevated powershell:
npm-windows-upgrade --npm-path:"C:\NodeJS" --version:3.3.9
npm-windows-upgrade 0.4.8
? This tool will upgrade npm. Do you want to continue? (Y/n) y
? This tool will upgrade npm. Do you want to continue? Yes
Upgrading... -Error:  npm
Error:   ERR! Windows_NT 10.0.10240

Error:  npm
Error:  ERR! argv "C:\\NodeJS\\node.exe" "C:\\NodeJS\\node_modules\\npm\\bin\\npm-cli.js" "install"<EMAIL_ADDRESS>
Error:  npm ERR! node
Error:   v4.2.1
npm ERR!
Error:  npm  v2.14.7
npm
Error:   ERR! path C:\NodeJS\node_modules\npm
npm
Error:   ERR! code EPERM

Error:  npm ERR! errno -4048

Error:  npm ERR! syscall lstat

Error:

Error:  npm
Error:   ERR! Error: EPERM: operation not permitted, lstat 'C:\NodeJS\node_modules\npm'
npm ERR!
Error:       at Error (native)
npm ERR!  { [Error: EPERM: operation not permitted, lstat 'C:\NodeJS\node_modules\npm']

Error:  npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',

Error:  npm
Error:  ERR!   syscall: 'lstat',
npm ERR!   path: 'C:\\NodeJS\\node_modules\\npm' }

Error:  npm ERR!
npm ERR!
Error:   Please try running this command again as root/Administrator.

Error:
Error:  error rolling back
Error:     path: 'C:\\NodeJS\\node_modules\\npm' }

Error:

Error:  npm ERR! Please include the following file with any support request:
npm ERR!     C:\NodeJS\npm-debug.log

Upgrading... \

My npmrc
prefix = C:\NodeJS
cache = C:\NodeJS\npm-cache
init-module = C:\NodeJS\npm-init.js
globalconfig = C:\NodeJS\etc\npmrc
globalignorefile = C:\NodeJS\etc\npmignore
userconfig = C:\NodeJS\etc\npmrc

npm-debug.log > https://gist.github.com/zmni/9217b2e84bc91ccba0fc

Hey, thanks for reporting! From what I can gather from the log file, you don't have access to the npm directory (which is obviously wrong). I assume that there's a process (or something similar) locking the folder.
I know this is awful, but sometimes rebooting convinces Windows to free up a lock on this directory. (It's not always necessary to reboot, if you are comfortable using Process Explorer to find the process that has the directory locked -- but rebooting is always easy and sometimes works). If there's a permissions problem, it can sometimes be solved by changing the permissions on the C:\NodeJS\node_modules\npm directory.

You're right. The non-elevated ps process locking that folder. I leave it opened when I did the upgrade process.
It works now. Thanks.

I'm just happy that it worked for you. Thanks for reporting!


Fix typo

Thanks for your educational content, very helpful 🙌
Also affects blog post at https://www.strictmode.io/articles/build-test-and-publish-npm-package-2022

Thanks @karlhorky ! Nice catch!

Glad to help, thanks for the merge :)


Contact form pair coding

You have done good work.

I have made this contact form which is required in this project.
The name field accepts up to 30 chars.
The email field accepts only emails.
The message field accepts up to 500 chars.
All fields have placeholder text.
All fields have the correct type.
A user cannot submit the form if one or more of the fields is empty.


pom file needs to be modified

where exactly in this pom file do you add
 <configuration>
     <appName>gentle-shore-6874</appName>
 </configuration>

where gentle-shore-6874 is heroku app name ?

Hey there. I know this is an old issue, but just in case the information is still of value to you or someone else:
https://github.com/kissaten/maven-plugin-war-example/blob/b0543f06be27d70d3f14a8d9ea8e3028d4bcee7c/pom.xml#L29
This is the beginning of the configuration block for the maven plugin. <appName> goes there right next to the <buildpacks> setting.


Error: TypeError: Cannot read property 'createStringLiteral' of undefined

🐞 Bug report
Command (mark with an x)

[ ] new
[X ] build
[X ] serve
[ ] test
[ ] e2e
[ ] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?

 Yes, the previous version in which this bug was not present was: ....
I was using the command ionic build and this error came:
Description
Error: TypeError: Cannot read property 'createStringLiteral' of undefined
at replacementVisitor (C:\ionic5_capacitor\node_modules@ngtools\webpack\src\transformers\import_factory.js:186:31)
at visitNodes (C:\ionic5_capacitor\node_modules\typescript\lib\typescript.js:73088:48)
at Object.visitEachChild (C:\ionic5_capacitor\node_modules\typescript\lib\typescript.js:73266:156)
 A clear and concise description of the problem...
The Ionic App using Angular CLI doesn't compile
🔬 Minimal Reproduction

🔥 Exception or Error

Error: TypeError: Cannot read property 'createStringLiteral' of undefined
    at replacementVisitor (C:\ionic5_capacitor\node_modules\@ngtools\webpack\src\transformers\import_factory.js:186:31)
    at visitNodes (C:\ionic5_capacitor\node_modules\typescript\lib\typescript.js:73088:48)
    at Object.visitEachChild (C:\ionic5_capacitor\node_modules\typescript\lib\typescript.js:73266:156)

🌍 Your Environment

Ionic:

   Ionic CLI                     : 5.0.0 (C:\Users\Usuario\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework               : @ionic/angular 5.1.1
   @angular-devkit/build-angular : 0.1102.4
   @angular-devkit/schematics    : 9.1.6
   @angular/cli                  : 9.1.6
   @ionic/angular-toolkit        : 2.3.3

Capacitor:

   Capacitor CLI   : 2.4.7
   @capacitor/core : 2.4.7

Cordova:

   Cordova CLI       : 9.0.0<EMAIL_ADDRESS>   Cordova Platforms : not available
   Cordova Plugins   : not available

Utility:

   cordova-res : 0.15.3
   native-run  : not installed

System:

   NodeJS : v14.16.0 (C:\Program Files\nodejs\node.exe)
   npm    : 6.14.8
   OS     : Windows 10

Anything else relevant?

Hi,
It looks like you are using<EMAIL_ADDRESS>which is only compatible with Angular and Angular CLI 11. Please downgrade this package to 0.901.15
If the problem persists, please file a new issue and ensure you provide all of the required information when filling out the issue template including a minimal reproduction.
You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.
This might be related to your directory structure so its really important to get an accurate repro to diagnose this.

Thank You it worked perfectly


Set TextField's cursor position

Good afternoon. I have a problem that I've been trying to solve for days and I can't. I have the following code where the TextField occupies the entire body of the Scaffold and starts in read-only mode. After a double click, the readOnly state is changed to false for user editing. The problem is that I want the TextField cursor to be positioned exactly where the double click occurred, but it doesn't. This "problem" started after a recent Flutter update. Does anyone know how to fix this?
class _HomeViewState extends State<HomeView> {
  TextEditingController contentController = TextEditingController();
  bool visualization = true;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: LayoutBuilder(
        builder: (context, constraint) {
          return SingleChildScrollView(
            padding: EdgeInsets.symmetric(horizontal: 16, vertical: 10),
            child: ConstrainedBox(
              constraints: BoxConstraints(
                minHeight: (constraint.maxHeight - 20),
              ),
              child: IntrinsicHeight(
                child: GestureDetector(
                  onDoubleTap: () {
                    setState(() {
                      visualization = !visualization;
                    });
                  },
                  child: TextField(
                    controller: contentController,
                    decoration: InputDecoration(
                      border: InputBorder.none,
                      contentPadding: EdgeInsets.zero,
                    ),
                    expands: true,
                    keyboardType: TextInputType.multiline,
                    maxLines: null,
                    minLines: null,
                    readOnly: visualization ? true : false,
                    style: TextStyle(fontSize: 22),
                  ),
                ),
              ),
            ),
          );
        },
      ),
    );
  }
}

hi @fabiomicheldossantos ! Because the code bool visualization = true;, the value of visualization is always true whenever you reset state of page. you can modify your code like  visualization?? true.

Hi @fabiomicheldossantos I believe this is the expected behaviour when the initial text of the field is empty. Can you confirm if the behaviour persists when you set initial text in the controller?
TextEditingController contentController =
     TextEditingController(text: 'Hi There');

hi @fabiomicheldossantos ! Because the code bool visualization = true;, the value of visualization is always true whenever you reset state of page. you can modify your code like visualization?? true.

hi @fabiomicheldossantos ! Because the code bool visualization = true;, the value of visualization is always true whenever you reset state of page. you can modify your code like visualization?? true.

Thanks for your reply but when I double click the screen the state is changed to false as expected. =)

Hi @fabiomicheldossantos I believe this is the expected behaviour when the initial text of the field is empty. Can you confirm if the behaviour persists when you set initial text in the controller?
TextEditingController contentController =
     TextEditingController(text: 'Hi There');

Hi, @mamuseferha. Sorry for not being more specific, but the problem is when there are several lines written. Example: if there are ten lines written and the user double-clicks in the middle of the fifth line, it is expected that the cursor would be positioned there for editing.

Hi @fabiomicheldossantos, I tested this on the latest stable and master channel using the sample code below and it is not reproducible. When I double click on any spot in the textfield the cursor is positioned there.
What device does it occur, and also can you provide your flutter doctor -v?

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ),
      ),
    );
  }
}

class MyWidget extends StatefulWidget {
  const MyWidget({Key? key}) : super(key: key);

  @override
  State<MyWidget> createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {
  TextEditingController contentController = TextEditingController(
      text:
          "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.");
  bool visualization = true;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: LayoutBuilder(
        builder: (context, constraint) {
          return SingleChildScrollView(
            padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 10),
            child: ConstrainedBox(
              constraints: BoxConstraints(
                minHeight: (constraint.maxHeight - 20),
              ),
              child: IntrinsicHeight(
                child: GestureDetector(
                  onDoubleTap: () {
                    setState(() {
                      visualization = !visualization;
                    });
                  },
                  child: TextField(
                    controller: contentController,
                    decoration: const InputDecoration(
                      border: InputBorder.none,
                      contentPadding: EdgeInsets.zero,
                    ),
                    expands: true,
                    keyboardType: TextInputType.multiline,
                    maxLines: null,
                    minLines: null,
                    readOnly: visualization ? true : false,
                    style: const TextStyle(fontSize: 22),
                  ),
                ),
              ),
            ),
          );
        },
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel master, 2.6.0-12.0.pre.826, on macOS 11.6.1 20G224 darwin-x64, locale en-US)
    • Flutter version 2.6.0-12.0.pre.826 at /Users/flo/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 6c1455a23a (5 hours ago), 2021-11-23 21:13:05 -0500
    • Engine revision 539239e256
    • Dart version 2.16.0 (build 2.16.0-42.0.dev)
    • DevTools version 2.8.0

[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/flo/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.62.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.28.0

[✓] Connected device (5 available)
    • SM G975U (mobile)                  • R58M95MA95E                          • android-arm64  • Android 11 (API 30)
    • Android SDK built for x86 (mobile) • emulator-5554                        • android-x86    • Android 11 (API 30) (emulator)
    • iPhone 13 (mobile)                 • EF1251D3-C9C4-475E-9F91-58CD010FDA48 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)                    • macos                                • darwin-x64     • macOS 11.6.1 20G224 darwin-x64
    • Chrome (web)                       • chrome                               • web-javascript • Google Chrome 93.0.4577.63

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 2.6.0-12.0.pre.826, on macOS 11.6.1 20G224 darwin-x64, locale en-US)
    • Flutter version 2.6.0-12.0.pre.826 at /Users/flo/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 6c1455a23a (5 hours ago), 2021-11-23 21:13:05 -0500
    • Engine revision 539239e256
    • Dart version 2.16.0 (build 2.16.0-42.0.dev)
    • DevTools version 2.8.0

[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/flo/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.62.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.28.0

[✓] Connected device (5 available)
    • SM G975U (mobile)                  • R58M95MA95E                          • android-arm64  • Android 11 (API 30)
    • Android SDK built for x86 (mobile) • emulator-5554                        • android-x86    • Android 11 (API 30) (emulator)
    • iPhone 13 (mobile)                 • EF1251D3-C9C4-475E-9F91-58CD010FDA48 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)                    • macos                                • darwin-x64     • macOS 11.6.1 20G224 darwin-x64
    • Chrome (web)                       • chrome                               • web-javascript • Google Chrome 93.0.4577.63

! Doctor found issues in 1 category.

Thank you

Hi @mamuseferha, I'm using a Samsung Galaxy A9, 2016, but in the emulator with Nexus 5X API 29 the problem also occurs.
Follow the flutter doctor -v.
[√] Flutter (Channel stable, 2.5.3, on Microsoft Windows [versÃ£o 10.0.19044.1348], locale pt-BR)
    • Flutter version 2.5.3 at C:\src\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (6 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\FMS\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

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

[√] VS Code (version 1.56.2)
    • VS Code at C:\Users\FMS\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (3 available)
    • SM A910F (mobile) • 6d2c5e03 • android-arm64  • Android 8.0.0 (API 26)
    • Chrome (web)      • chrome   • web-javascript • Google Chrome 96.0.4664.45
    • Edge (web)        • edge     • web-javascript • Microsoft Edge 96.0.1054.29
    ! Device emulator-5554 is offline.

• No issues found!

Thanks for your attention. Good night!

Hi @fabiomicheldossantos, I tested this on the latest stable and master channel using the following devices but it is still not reproducible?
Nexus 5X API 29 ✅
Nexus 5X API 26 ✅
Nexus 5X API 31 ✅
Samsung Galaxy S10+ API 30 ✅
I'll be leaving this open and labelling for further investigation as I cannot reproduce on my end.

output
https://user-images.githubusercontent.com/92717368/143430434-889eba5e-4d90-4bc6-ae10-a6ff0a101e0c.MP4

flutter doctor -v
[✓] Flutter (Channel stable, 2.5.3, on macOS 11.6.1 20G224 darwin-x64, locale en-US)
    • Flutter version 2.5.3 at /Users/flo/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 18116933e7 (6 weeks ago), 2021-10-15 10:46:35 -0700
    • Engine revision d3ea636dc5
    • Dart version 2.14.4

[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/flo/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 13.1, Build version 13A1030d
    • CocoaPods version 1.11.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.62.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.28.0

[✓] Connected device (6 available)
    • SM G975U (mobile)                  • R58M95MA95E                          • android-arm64  • Android 11 (API 30)
    • Android SDK built for x86 (mobile) • emulator-5554                        • android-x86    • Android 10 (API 29) (emulator)
    • Android SDK built for x86 (mobile) • emulator-5556                        • android-x86    • Android 8.0.0 (API 26)
      (emulator)
    • iPhone 13 (mobile)                 • EF1251D3-C9C4-475E-9F91-58CD010FDA48 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)                    • macos                                • darwin-x64     • macOS 11.6.1 20G224 darwin-x64
    • Chrome (web)                       • chrome                               • web-javascript • Google Chrome 93.0.4577.63

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 2.6.0-12.0.pre.837, on macOS 11.6.1 20G224 darwin-x64, locale en-US)
    • Flutter version 2.6.0-12.0.pre.837 at /Users/flo/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 341e771b12 (8 hours ago), 2021-11-24 19:33:04 -0500
    • Engine revision e99aba6a38
    • Dart version 2.16.0 (build 2.16.0-46.0.dev)
    • DevTools version 2.8.0

[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/flo/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] VS Code (version 1.62.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.28.0

[✓] Connected device (6 available)
    • SM G975U (mobile)                  • R58M95MA95E                          • android-arm64  • Android 11 (API 30)
    • Android SDK built for x86 (mobile) • emulator-5554                        • android-x86    • Android 10 (API 29) (emulator)
    • Android SDK built for x86 (mobile) • emulator-5556                        • android-x86    • Android 8.0.0 (API 26) (emulator)
    • iPhone 13 (mobile)                 • EF1251D3-C9C4-475E-9F91-58CD010FDA48 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-0 (simulator)
    • macOS (desktop)                    • macos                                • darwin-x64     • macOS 11.6.1 20G224 darwin-x64
    • Chrome (web)                       • chrome                               • web-javascript • Google Chrome 93.0.4577.63

! Doctor found issues in 1 category.

Thank you

Ok, @mamuseferha. Thank you for all your efforts.

Studying the code a bit more, I found that until Flutter version 2.2.3, the desired behavior was working. Whenever the user double-clicked, the mouse cursor was positioned at the click location (considering the existence of multiline text) and the text field was enabled for editing, that is, if the user clicked halfway through the fifth line, the cursor was positioned there, and so on. After updating to version 2.5.3 this cursor behavior stopped working so that when the user double-clicks on it, it always appears positioned in the last place where it was already located. I'm still new to Flutter and the programming world, but after a long research, I found that the change in this behavior was due to the alteration of five Flutter files, namely:
 packages/flutter/lib/src/cupertino/desktop_text_selection.dart;
 packages/flutter/lib/src/cupertino/text_selection.dart;
 packages/flutter/lib/src/material/desktop_text_selection.dart;
 packages/flutter/lib/src/material/text_selection.dart;
 packages/flutter/lib/src/widgets/text_selection.dart.

I found a way to implement the expected behavior.


BUG - Sorting on Latest Transactions render Table sideways

Describe the bug
Sorting on Latest Transactions render Table sideways
To Reproduce
Steps to reproduce the behavior:

Go to homepage
Sort on any column in the Transaction Table

Expected behavior
Same Data Size vertical/horizontal should not adjust column/row width/height
Screenshots

@DestinyDevTeam see linked pull request for netlify Deploy Preview link

Columns are now Fixed to Content as Expected when sorting.


Windows 10 UI not showing up

With stable installed via the installer Onivim2-win-x64-stable.exe
Is there any additional things I need to install?
oni2.log

[DEBUG]    +0ms Revery.Core.Window : Starting window creation...
[INFO]     +0ms Revery.Core.Window : Display count: 1
[INFO]     +0ms Revery.Core.Window : Display 0:Generic PnP Monitor - pixelFormat: SDL_PIXELFORMAT_RGB888 width: 960
height: 540 refreshRate: 30 Bounds: x: 0 y: 0 width: 1920 height: 1080
[INFO]     +0ms Revery.Core.Window : Creating window Oni2 width: 800 height: 600
[ERROR]  +104ms Revery.SDL2 : SDL_CreateWindow failed: Could not initialize OpenGL / GLES library
[INFO]     +0ms Revery.Core.Window : Window created successfully.
[DEBUG]    +0ms Revery.Core.Window : - Id: 0
[DEBUG]    +0ms Revery.Core.Window : - PixelFormat: SDL_PIXELFORMAT_UNKNOWN
[DEBUG]    +0ms Revery.Core.Window : Setting window context
[ERROR]    +0ms Revery.SDL2 : SDL_GL_Setup failed: Invalid window
[DEBUG]    +0ms Revery.Core.Window : GL setup. Checking GL version...
[DEBUG]    +0ms Revery.Core.Window : Checking GL vendor...
[DEBUG]    +1ms Revery.Core.Window : Checking GL shading language version...
[INFO]     +0ms Revery.Core.Window : OpenGL hardware info:
[INFO]     +0ms Revery.Core.Window :   renderer: Unable to get OpenGL proc address for glGetString
[INFO]     +0ms Revery.Core.Window :   version: Unable to get OpenGL proc address for glGetString
[INFO]     +0ms Revery.Core.Window :   vendor: Unable to get OpenGL proc address for glGetString
[INFO]     +0ms Revery.Core.Window :   shadingLanguageVersion: Unable to get OpenGL proc address for glGetString
[DEBUG]    +0ms Revery.Core.Window : Loading icon from: C:\Program Files\Onivim2\logo.png

Looks like we are failing to init OpenGL or similar, meaning we fail to make a window to use.
Is this in a VM or similar? And what version of Windows 10 is it?

This is not vm but a real non virtualized os.
I will get the window version tomorrow when I get to office.

Since the log and you mentioned openGL,  do I need to install something openGL related?

Looks like a similar issue to #1552 and #1809 - this should be fixed by https://github.com/onivim/oni2/pull/2283 (which is in the nightly build, but not yet in stable).
@kaevinlaw - would you mind trying the nightly build to see if it fixes the issue?

@bryphe the nighty works.  Thanks.

Great news! Thanks for the update @kaevinlaw


on_click with multiple options doesn't work

Describe the bug
I want to set a var and call a function at the same time, when a radio group has changed. This doesn't work.
Following error occurs:
ValueError: Event handler: <function state.set_selectedSize at 0x107a29580> for uncontrolled event on_click should not take any args.
To Reproduce
Steps to reproduce the behavior:
pc.radio_group(                         State.sizerunSell,                         on_change=[State.set_selectedSize],                         on_click=[State.data_filter, State.set_selectedSize]                         )                     )
Expected behavior
To call the function and set the variable.
** Specifics (please complete the following information):**

Python Version: 3.11
Pynecone Version: latest
OS: Mac
Browser (Optional): Chrome

This problem arises because the on_click event does NOT carry a value, so you can't "set" anything in response to that event. [1]
Further, on_click fires before on_change, so your State.data_filter event handler would get called when State.selectedSize still has the previous value.

What is the motivation for handling on_click for radio_group (i.e. what does data_filter do in relation to the form)?
If data_filter depends on the value of State.selectedSize, then I would chain the data_filter event handler off of on_change by returning it from set_selectedSize.
on_change -> State.set_selectedSize(value) -> State.data_filter

import pynecone as pc

class State(pc.State):
    sizerunSell = ["foo", "bar", "baz"]
    selectedSize = "foo"

    def data_filter(self):
        print(f"data_filter() triggered, selectedSize is {self.selectedSize}")

    def set_selectedSize(self, v: str):
        print(f"set_selectedSize({v}) triggered")
        self.selectedSize = v
        return self.data_filter

def index() -> pc.Component:
    return pc.radio_group(State.sizerunSell, on_change=[State.set_selectedSize])

# Add state and page to the app.
app = pc.App(state=State)
app.add_page(index)
app.compile()

[1] If you knew the value to set in response to on_clickat compile time or used pc.cond, then you could use a lambda to pass a value. on_click=lambda: State.set_something(42).

The way to handle event handlers has been changed since this issue was opened, I don't think it is relevant anymore.


level":50,"event":"PM2ZabbixMonitor#processListSendingError",

Hi  i am facing error during running pm2-zabbix --monitor ,
{"name":"pm2-zabbix","hostname":"ip-172-31-43-89","pid":5808,"level":50,"event":"PM2ZabbixMonitor#processListSendingError","error":{"killed":false,"code":1,"signal":null,"cmd":"/usr/bin/zabbix_sender --config /etc/zabbix/zabbix_agentd.conf --input-file -"},"msg":"Failed to send process list with stats to server: Error: Command failed: /usr/bin/zabbix_sender --config /etc/zabbix/zabbix_agentd.conf --input-file -\n","time":"2018-11-05T15:12:36.599Z","v":0}
i tried sending some key
zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k test_key -o 0
sent: 1; skipped: 0; total: 1

i stop pm2 process but didnt receive any tirgger .

Hi I just ran into the same problem: hostname is different to HostName in Zabbix_agentd.conf. Obviously pm2-zabbix is using hostname instead of the key_value of Zabbix_conf. How can I force pm2-zabbix to use the right hostname?


Pages Docs: Add detailed information on build image

Expected Behavior
Be explicit about the build system environment / build system image (most importantly, OS version) in the documentation, as well as what software is available for choosing.
Actual Behavior
I once specified PYTHON_VERSION=3.9 as an environment variable for one of my Pages sites, which ended up with the following error message:
Installing dependencies
/opt/build/bin/run-build-functions.sh: line 168: /opt/buildhome/python3.9/bin/activate: No such file or directory
Error setting python version from the PYTHON_VERSION environment variable
Please see https://github.com/netlify/build-image/#included-software for current versions
Failed: build command exited with code: 1

Furthermore, the link in the message is broken. It took me multiple tries to figure out the exact build environment and the correct documentation (netlify/build-image@xenial/included_software.md).
Section that requires update
https://developers.cloudflare.com/pages/platform/build-configuration/#language-support-and-tools
Additional information
Original thread: Feature Request: Publish Cloudflare Pages build system version, and add a newer system for choosing - Cloudflare Community

Should be on it's way in this draft PR: https://github.com/cloudflare/cloudflare-docs/pull/4074


Typo in example

There's a typo in this example:
<Select
      field='employed'
      options={[{
        label: 'Employed',
        values: true
      }, {
        label: 'Unemployed',
        value: false
      }]}
    />

Please change "values" to "value", I was using your example but was not able to change the dropdown because of the "s".

Moved to V2 so this is gone


Always resolve state value to leaf nodes

At the moment e.g. compound states without initial state defined can get "stuck" in the middle of the state node tree.
According to SCXML semantics, this results in an invalid configuration. We should either:

throw if no initial state is provided
use SCXML logic for picking default initial state (first in document order)

Seems like both solutions are pretty much breaking, so probably this would have to wait for v5

Yeah, I think the major focus for 5.0 should be dev-time static analysis, so that invalid configurations are surfaced earlier.

The dev-time static analysis would be a great feature, not sure if it has to be tied to 5.0 though. It can be implemented (most likely as ESLint plugin) at any time as it's a completely new feature.
We can also surface invalid configurations in dev mode at runtime (and we probably should do that independently of possible static analysis) - but that is often a breaking change and thus has to wait for a new major version.

Hi, have you decided if or not, future version will use the 'first in doc order' as the default when initial not specified on a compound state ?   I suppose if used it means there could never be a transition to a compound state, is that correct??

pS ... I mean the a transition would never resolve to a compound state.  :)

Hi, have you decided if or not, future version will use the 'first in doc order' as the default when initial not specified on a compound state ? I suppose if used it means a transition could never Resolve to a compound state, is that correct??

I don't believe we will use "first in doc order" since that ordering isn't guaranteed with object keys: https://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order

This is currently in the v5 next branch, and it correctly throws an error like:

No initial state specified for compound state node "#(machine).one". Try adding { initial: "two" } to the state config.


npm install failing

Getting this error, when going through installation steps
Example app: Web Wallet
00:19:17 ✔ pk: ((HEAD detached at v1.0.0)) example-webwallet $ npm install
npm ERR! code MODULE_NOT_FOUND
npm ERR! Cannot find module 'node-gyp/bin/node-gyp'

npm ERR!      /Users/pk/.npm/_logs/2019-07-12T14_19_32_966Z-debug.log

What node/npm are you using?
node --version
npm --version

@mvines thank you for jumping on this
node version: v10.15.1
npm version: 6.4.1

Oh!  You're on this tag? https://github.com/solana-labs/example-webwallet/releases/tag/v1.0.0
That's super out of date, can you please try the tip of the master branch instead?

@mvines thanks for looking into this -- I tried few things and still getting the same error -- Not sure what I doing incorrect here ...are you able to help?

Sure can you please share the full output (perhaps as a gist) from the following commands:
$ npm --version
$ node --version
$ git clone git@github.com:solana-labs/example-webwallet.git
$ cd example-webwallet/
$ npm install


v4l: fix auto mode opens usable device twice

1. Tell us something about your changes.
fix error found in #118 usable v4l device was opened twice
2. If this changes affect the .conf file. Please provide the changed section
3. Reference a issue (optional)
Note: For further discussions use our forum: forum.hyperion-project.org

Log looks good
Jul 24 22:42:32 osmc hyperiond[588]: [HYPERIOND V4L2GRABBER] <INFO> available V4L2 devices:
Jul 24 22:42:32 osmc hyperiond[588]: /dev/video0        usbtv
Jul 24 22:42:32 osmc hyperiond[588]: [HYPERIOND V4L2GRABBER] <INFO> configured v4l device: /dev/video0
Jul 24 22:42:32 osmc hyperiond[588]: [HYPERIOND V4L2GRABBER] <INFO> width=720 height=576
Jul 24 22:42:32 osmc hyperiond[588]: [HYPERIOND V4L2GRABBER] <DEBUG> <V4L2Grabber.cpp:524:init_device()> Pixel format=YUYV
Jul 24 22:42:32 osmc hyperiond[588]: [HYPERIOND V4L2GRABBER] <INFO> found usable v4l2 device: /dev/video0 (usbtv)
Jul 24 22:42:32 osmc hyperiond[588]: [HYPERIOND V4L2GRABBER] <INFO> Started
Jul 24 22:42:32 osmc hyperiond[588]: [HYPERIOND Core] <INFO> Register new input source named 'V4L2' for priority channel '950'
Jul 24 22:42:32 osmc hyperiond[588]: [HYPERIOND MAIN] <INFO> V4L2 grabber started

cool. BTW you can write "usbtv" where you write "auto". This will always select your usb grabber. This is good if you connect other v4l devices sometimes (e.g. webcam). Then your device would be selected regardless which /dev/videoX it is

Nice to know, thank you :)


gateway: simplify runtime spawns

Simplify some runtime spawns by ignoring the return value of a spawn since they don't need to be used and simply moving futures into tokio::spawn rather than wrapping futures in an async {} block.

Rebased


Compat support: toNumber, toString, string/array ops

Follow-up to #157, supports leopard-js/sb-edit#90. These too are needed for comprehensive Scratch compatibility. (toString technically isn't, but it's cleaner to use consistent casting methods.)

@adroitwhiz Changes here should be ready for implementation into #146. They're basically all lifted from scratch-vm.

@towerofnix Time for a version bump and new release? If you update the version number with npm version and push those changes to Github, we can create a new release on Github and an action will automatically publish to npm.

Sounds good! I'll give it a version and push. And it's all OK, @adroitwhiz's and my work here all started and ramped up pretty spontaneously so we weren't expecting quick reviews ^_^

I'm going to give sb-edit a dependencies update locally and then I'll get both of 'em pushed.

Sweet! sb-edit also has the automatic npm publishing set up, so I think the only thing you need me for is redeploying the website after sb-edit has been published. :)


Add tests for scopes.

Coverage remained the same at 87.084% when pulling 52b1797d40f5abf23a31c7c42192cf4e1bbae06f on akatsoulas:scope-tests into 1d6a8035d0eb1f1bab113db7c480829959634746 on mozilla:dino-park.

Please add one test for NDA.


BUG: avoid overflow in sum() for 32-bit systems

Reference issue
Fixes gh-12340.
What does this implement/fix?
On systems where the native int type is 32-bit, this call to sum() may overflow. Specifying an explicit dtype will ensure all systems behave the same way (and don't overflow).

Thanks, lgtm


Ideas / extensions

The following are just ideas, they are not yet supported, and need to be refined.
Possible functions similar to XSLT:
message	Writes a message to the output (used to report errors)
output	Defines the format of the output document
sort	Sorts the output
text	Writes literal text to the output
value-of	Extracts the value of a selected node

We defintely need sort.  And message could write to error output rather than standard output. Maybe even an abort command to throw a TransformException with a custom message.


WorkbookProtection corrupts Spreadsheet for Excel 2019

Spreadsheets saved with Excel 2019 get corrupted as soon as you add a WorkbookProtection.
Information

.NET Target: .NET 3.5
DocumentFormat.OpenXml Version: 2.9.1, 2.10.0-beta0001

Repro
Create an empty spreadsheet in Excel 2019. Perform the following operation:
using (var document = SpreadsheetDocument.Open("...", true) {
  document.WorkbookPart.Workbook.WorkbookProtection = new WorkbookProtection();
}

Open the spreadsheet in Excel 2019.
Observed
Excel fails to open and repair the file.

The resulting workbook.xml contains the newly added x:workbookProtection followed by the x:revisionPtr.
<x:workbookProtection />
<xr:revisionPtr revIDLastSave="0" documentId="13_ncr:1_{4BF1E7C4-2F1B-4756-81DA-B102ED8D212D}" xr6:coauthVersionLast="36" xr6:coauthVersionMax="36" xr10:uidLastSave="{00000000-0000-0000-0000-000000000000}" />

Manually changing the order (unzip/edit/zip) repairs the file.
<xr:revisionPtr revIDLastSave="0" documentId="13_ncr:1_{4BF1E7C4-2F1B-4756-81DA-B102ED8D212D}" xr6:coauthVersionLast="36" xr6:coauthVersionMax="36" xr10:uidLastSave="{00000000-0000-0000-0000-000000000000}" />
<x:workbookProtection />

Expected
File should not get corrupted.

@DizTortion Thanks for the report. I'm a little confused by which version of excel you are referring to throughout. Can you update your repro to be explicit as to the version?
This is probably from the new 2016 features that have been brought online.

@twsouthwick Hi, I updated the issue and removed references to versions other than Excel 2019. I just tried to emphasize that the code worked while we used Excel 2010. Now that we upgraded to Excel 2019 we are seeing corrupted files.

Thanks @DizTortion for the feedback. @tomjebo this seems a bit more schema related - can you check if the ordering has changed between 2010 and 2019?

Any update on this @twsouthwick ? We ran into the same issue, ended up building our document with openxml and then using com to do the protection. 🤦♂

@S1r-Lanzelot Maybe give this workaround a try. Make your Spreadsheet modifications and dispose it. Then pass the stream (variable memoryStream) to the using block below.
It checks if there is a workbook protection and swaps its position with the revisionPtr. No COM interop required.
// TODO: workaround (see https://github.com/OfficeDev/Open-XML-SDK/issues/601)
using (var package = Package.Open(memoryStream, FileMode.Open))
{
    var xmlDocument = new XmlDocument();

    var part = package.GetPart(new Uri("/xl/Workbook.xml", UriKind.Relative));

    using (var oldPartStream = part.GetStream())
    {
        xmlDocument.Load(oldPartStream);

        var xmlNamespaceManager = new XmlNamespaceManager(xmlDocument.NameTable);
        xmlNamespaceManager.AddNamespace(
            "x",
            "http://schemas.openxmlformats.org/spreadsheetml/2006/main");
        xmlNamespaceManager.AddNamespace(
            "xr",
            "http://schemas.microsoft.com/office/spreadsheetml/2014/revision");

        var workbook = xmlDocument.DocumentElement
            .SelectSingleNode("/x:workbook", xmlNamespaceManager);
        var revisionPtr = xmlDocument.DocumentElement
            .SelectSingleNode("/x:workbook/xr:revisionPtr", xmlNamespaceManager);
        var workbookProtection = xmlDocument.DocumentElement
            .SelectSingleNode("/x:workbook/x:workbookProtection", xmlNamespaceManager);

        if (revisionPtr != null)
        {
            workbook.RemoveChild(revisionPtr);
            workbook.InsertBefore(revisionPtr, workbookProtection);

            using (var newPartStream = part.GetStream(FileMode.Create))
            {
                xmlDocument.Save(newPartStream);
            }
        }
    }
}

Any progress on this one? I'd be happy to provide more information if required.


release 1.3.7 seems to be not valid

Hello @devacfr,
It seems not all artifacts were pushed to Maven
There is no http://mvnrepository.com/artifact/io.github.devacfr.maven.skins/reflow-parent of version 1.3.7 :(
Could you please re-deploy it?

@devacfr ping :)

hello, sorry I'm coming back. I resolved the problem. the new version is 1.3.8 (can not redeploy in maven central)


Yeti Launch JavaScript error on launch

How can we reproduce this bug?

Get a Mac running OS X El Capitan
Download Yeti Launch
Open app

What did you expect to happen?
I expected it to work properly.
What happened instead?
JavaScript error dialog popped up. See screenshot.

Same here, fails to startup without this error message.

Where did you download it? the download link is broken :cry:

Download page Yeti

thanks @zzplab . the link is fixed now

We are in the process of QAing the patch for this bug. Thanks everyone for letting us know!

Hello everyone,
The patch been released! You can download it at http://foundation.zurb.com/develop/yeti-launch.html.
The patch addresses:

Javascript error on startup
Scss error reporting @blynnc
Glitch for users with a space in their path trying to open an editor

Big enhancement:

Hosted code integration

A few other minor enhancements:

Allow underscores in project names @blynnc
Change editor button in settings sidebar

Thanks everyone for your patience,
Erik

Total fail. Can't even start the app.


student record module

this one is a big request, comprised of many smaller parts.
a student record can be comprised of different "types" of data:

academic records (basically all the data related to assessment points + grade reports)
behavior/disciplinary records
individualized learning plans
health record
attendance #178
etc.

data protection and access control are of utmost importance here (and one of the reasons that makes the development of the module complex).
we still need to work on the module's tasks breakdown and prioritization

for the sake of organization, I'll close this issue and keep track in the issues with a reduced scope (#178 , #212 , and many others that I'll open)


Add pre-commit hooks option; code/docstring tidy-ups

pre-commit is the go-to method for making it simple to verify that all linters and other checks are performed before a commit can be done, or when executing pre-commit run -a manually. Having it in-place makes it easier to contribute without a need to wait for the CI to inform about styling issues.
This PR adds the same checks (black, pylint, flake8) as running make does (hopefully), but also removes the blanket ignores for blake8 and uses # noqa: <id> for two cases (import order for docs, unused variable for propertymocks for tests). This PR also includes the changes wanted by the checks that were not caught previously for some reason.

Coverage remained the same at 52.738% when pulling b295ad9fe623dd19c5702998596c16ef7ff0dc3a on rytilahti:add_precommit_hooks into e4b39cde97a72cb9b8896a92ebd6943c3720bb6e on SoCo:master.

Presumably, we also need to add the pre-commit package to requirements-dev.txt? And to run pre-commit install locally to set up the hooks?

If that'd be the preferred way to run the checks, it makes indeed sense to add pre-commit to the dev requirements & instruct contributors to use it by adding a note to the developer documentation. On the other hand, it is also helpful to have the configuration available even if it is not instructed anywhere.
What do you think?

If that'd be the preferred way to run the checks, it makes indeed sense to add pre-commit to the dev requirements & instruct contributors to use it by adding a note to the developer documentation. On the other hand, it is also helpful to have the configuration available even if it is not instructed anywhere.
What do you think?

I thought about this after making the comment, and I think it's fine just to include the yaml file (and the miscellaneous
changes) without adding to requirements-dev.txt. It's then there as a convenience for people that want to use pre-commit, but doesn't affect this that don't.
Note that I'll hold off merging this until after v0.23 is released.

Thanks for all the work on this, and sorry for the delay in including it. Will be included in v0.26.0.


Hrnet is broke, here is the fix

The issue is that ubuntu 20.04 or software-properties-common comes with python 2.7.  However, you use python3 for installation and then have python execution in nuclio. The links are broken, and instead of running python 3, it executes with python 2.
I have solved the issues by removing python, followed by installation  and linking it as it's done in detron2/retinanet (the only one which works with GPU)
I am too lazy to make a commit, but here is the fix as it is, as I had to go to sleep two hours ago.
Replace this:

        - kind: RUN
          value: add-apt-repository ppa:deadsnakes/ppa
        - kind: RUN
          value: apt-get update && apt-get install -y --no-install-recommends build-essential git curl libglib2.0-0 software-properties-common python3 python3.6-dev python3-pip python3-tk
        - kind: RUN

With this:
        - kind: RUN
          value: add-apt-repository ppa:deadsnakes/ppa
        - kind: RUN
          value: apt remove python* -y
        - kind: RUN
          value: apt-get update && apt-get install -y --no-install-recommends build-essential git curl libglib2.0-0 software-properties-common python3 python3.6-dev python3-pip python3-tk
        - kind: RUN
          value: ln -s /usr/bin/pip3 /usr/local/bin/pip && ln -s /usr/bin/python3 /usr/bin/python

This worked for me, so you should check the bug yourself prior to taking my words for granted since it could be some issues specific to my machine.

It was fixed by #4944


Refactor URL routing to enable testing

I ran into some bugs earlier with URL routing - having more robust testing around this (especially since they are defined using regular expressions) would be really useful.

A utility function that resolves a path against a list of reflexes and returns the match
Make the routes and regular expressions available from a private Datasette method
Add tests that exercise them

Related:

#1660

Tests so far: https://github.com/simonw/datasette/blob/711767bcd3c1e76a0861fe7f24069ff1c8efc97a/tests/test_routes.py#L12-L34

This is more interesting if it also asserts against the captured matches from the pattern.

This does make it more interesting - it also highlights how inconsistent the way the capturing works is:
https://github.com/simonw/datasette/blob/764738dfcb16cd98b0987d443f59d5baa9d3c332/tests/test_routes.py#L12-L36


UWP playback resume issue

Hi @martijn00 ,
It looks like the player doesn't resume where you started ppreviously on UWP.
The steps to reproduce for this issue are

Play any mp3 file

Pause in the middle of the stream

play mp3 again and it restarts from the beginning

Have you had any updates on this?
Kind regards,
Jay

Thanks for filling an issue! Can you open a pull request with a fix for this? I would be more then happy to review it!

Hi @martijn00 ,
We will create a pull request for that.
Regards,
Jay

Hi @martijn00 ,
It looks like I can't create a pull request from my local branch. (keep getting 403 error)
Could you create one for me that extends develop branch?
Kind Regards,
Jay

@BtrJay You need to create a Fork of my repo. After that create a branch and commit your code on it. Then go to my repo on Github and select Create new pull request.


Stripify application

The app before was a very simple react application. It lacked the container specific chrome that comes with a stripe application.
This adds that layer. The primary challenge was setting it up for development and testing since there needs to be a webpack configuration that can be consumed by Karma, and also by the default platform.
In order to run our platform with mirage, we had to add an entry to the production and dev webpack config to boot mirage.
In testing, we created a TestHarness component which re-supplies the boot logic normally contained in @folio/stripes-core/src/index

@wwilsman I had to fix a bug in our custom stripes-core where  a new browser history object was getting created on each render, instead of once. https://github.com/cowboyd/stripes-core/commit/24d06dc27cda7e99ec1c13459387dcc4b19c1734 so it requires a review again.


Add method for datetime.date object return

Using this for a local project and found myself wanting datetime.date() versions of Chronyk objects. Since datetime.datetime() functionality is already there, I just patched in a version for date().
In case the change seems worthwhile, I also built a test and dropped in a demo for the readme.
Thanks for building a great module!

I think by posting this on the 31st I inadvertently exposed a testing bug - the second relative month check seems to be failing due to it trying to put too many days in the new month. One way around this might be to use a static date for that test with a day number under 28, instead of the current date.

Good catch on that error, and thanks for the addition!

Coverage increased (+0.37%) to 94.8% when pulling d3b76a81218ec5fadb98437dadeaf0a78f238cb6 on walkerdb:patch-date into df1369c79881bc961bf6188ad51d3c7ff9eaabb2 on KoffeinFlummi:master.


fix grammar in Streaming Imports guide

“it's” (it is) → “its” (possessive)
Changes

Testing

Docs

Thank you!

Thank you!


Consider removing "SPLIT" from Parent columns

OBI has been pretty consistent about only allowing one asserted parent term, but our ROBOT templates do allow more than one by specifying a "SPLIT" in the ROBOT template string.
I don't remember why we do with with the ROBOT templates. Maybe there were exceptions we wanted to handle?

There are 3 templates that specify a "SPLIT" in the parent class column: assays.tsv, sample-collection.tsv and devises.tsv. The "SPLIT" can be removed from assays.tsv and sample-collection.tsv without changes to obi.owl. There only appears to be one term in devises.tsv that has two asserted parent terms ("protective apron" in row 391).

Can do.  It can remain under "personal protective clothing item".  Can one attach it as subclass of apron via an equivalency axiom though in the devices.tsv table? I'm not seeing a column for the equiv. axiom.

I guess we never needed it before, but it's fine to add a new column, like the "additional axioms" of the assays template.

If we move 'apron' to the "associated axioms" column and keep 'personal protective clothing item' as the asserted parent, 'protective apron' still appears as a subclass of both in obi.owl.

Discussed on OBI call 2021-06-14: recommend keeping under 'protective apron'. 'apron' does not seem necessary as a grouping class. We propose to make 'apron' obsolete.


Unable to install target-gcs, hub needs to be updated to use the latest version

I wasn't able to install target-gcs.  The problem is fairly easy to reproduce and it seems to be just needing an update to the hub to reference the latest version from the author.  The referenced tag  of 0.11.3 is no longer in https://github.com/Datateer/target-gcs.git  repository.
Below are the error I received.
Added loader 'target-gcs' to your Meltano project
Variant:        datateer (default)
Repository:     https://github.com/Datateer/target-gcs
Documentation:  https://hub.meltano.com/loaders/target-gcs

Installing loader 'target-gcs'...
Loader 'target-gcs' could not be installed: failed to install plugin 'target-gcs'.
  Running command git clone --filter=blob:none --quiet https://github.com/Datateer/target-gcs.git /private/var/folders/99/0v4bp70x0hz59xhx9r07vxlh0000gp/T/pip-req-build-z7naw51i
  WARNING: Did not find branch or tag '0.11.3', assuming revision or ref.
  Running command git checkout -q 0.11.3
  error: pathspec '0.11.3' did not match any file(s) known to git
  error: subprocess-exited-with-error

  × git checkout -q 0.11.3 did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× git checkout -q 0.11.3 did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Failed to install plugin(s)

@jerrydeng thanks for logging this! I just opened a PR to remove the pinning entirely https://github.com/meltano/hub/pull/712. We're still working out our pattern but right now most hub plugins are unpinned and we recommend users pin a version in their own projects via meltano.yml.
Theres a discussion related to how we pin pip version, here one https://github.com/meltano/meltano/discussions/6445. Feel free to join the conversation if you have opinions!


What is the differences between training-operator and mpi-operator?

Per my unstanding, training-operator should cover all functionalities of mpi-operator. However, I found the latest version of mpi-operator is v2beta1, but the one in training-operator is v1. That is so confuse to me.

/kind question
@zhenlohuang Thank you for creating this issue.
We only migrated MPIJob v1 to the training operator. So the training operator doesn't support MPIJob v2.
You can check the difference between v1 and v2 in this proposal for v2.

@tenzen-y is it possible to run training-operator (for TFJob and PyTorchJob) and mpi-operator (for MPIJob v2beta1) side by side? We're having an issue where we're getting two launchers for all MPI jobs, one from training-operator and the other from mpi-operator.

@tenzen-y is it possible to run training-operator (for TFJob and PyTorchJob) and mpi-operator (for MPIJob v2beta1) side by side? We're having an issue where we're getting two launchers for all MPI jobs, one from training-operator and the other from mpi-operator.

@anyingl Yes, you can use both training-operator and mpi-operator.
However, you must add appropriate flags to a deployment of training-operator like the below:
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    control-plane: kubeflow-training-operator
  name: training-operator
  namespace: kubeflow
spec:
...
    spec:
      containers:
      - command:
        - /manager
+      args:
+      - --enable-scheme=tfjob
+      - --enable-scheme=pytorchjob
+      - --enable-scheme=mxnetjob
+      - --enable-scheme=xgboostjob
+      - --enable-scheme=paddlejob
...

By adding the above flags, the training-operator doesn't watch MPIJob resources.

@tenzen-y Thanks so much for your prompt response! What timing though, I actually also just discovered this on my own stumbling through the codebase. 😂


Discriminated Unions with callable Discriminator fail to create a class dynamically with Optional annotation

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
In our code we need to convert existing pydantic BaseModels into new classes with optional fields dynamically. We utilize pydantic.create_model for that wrapping field annotations with Optional. This works for fine for fields being discriminated unions defined as Field(discriminator="<property>"), but fails for ones defined as Discriminator(callable) with corresponding Tag annotation.
In the provided example I built new-style and old-style discriminated unions side-by-side for comparison. The error the new-style discriminated union raises is the following, as if NoneType messes up with the inner union:
Traceback (most recent call last):
  File "/Users/chiselko6/dev/pydantic_discriminator/test.py", line 77, in <module>
    create_model(
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/main.py", line 1550, in create_model
    return meta(
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/_internal/_model_construction.py", line 202, in __new__
    complete_model_class(
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/_internal/_model_construction.py", line 539, in complete_model_class
    schema = cls.__get_pydantic_core_schema__(cls, handler)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/main.py", line 626, in __get_pydantic_core_schema__
    return handler(source)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in __call__
    schema = self._handler(source_type)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 502, in generate_schema
    schema = self._generate_schema_inner(obj)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 753, in _generate_schema_inner
    return self._model_schema(obj)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 580, in _model_schema
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 580, in <dictcomp>
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 916, in _generate_md_field_schema
    common_field = self._common_field_schema(name, field_info, decorators)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 1081, in _common_field_schema
    schema = self._apply_annotations(
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 1820, in _apply_annotations
    schema = get_inner_schema(source_type)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in __call__
    schema = self._handler(source_type)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/_internal/_generate_schema.py", line 1902, in new_handler
    schema = metadata_get_schema(source, get_inner_schema)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/types.py", line 2827, in __get_pydantic_core_schema__
    return self._convert_schema(original_schema)
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic/types.py", line 2848, in _convert_schema
    raise PydanticUserError(
pydantic.errors.PydanticUserError: `Tag` not provided for choice {'type': 'nullable', 'schema': {'type': 'tagged-union', 'choices': {'int': {'type': 'definition-ref', 'schema_ref': '__main__.ValueInt:140660602191040', 'metadata': {'pydantic.internal.tagged_union_tag': 'int'}}, 'str': {'type': 'definition-ref', 'schema_ref': '__main__.ValueStr:140660580617136', 'metadata': {'pydantic.internal.tagged_union_tag': 'str'}}}, 'discriminator': <function model_x_discriminator at 0x7fee190baf70>}} used with `Discriminator`

For further information visit https://errors.pydantic.dev/2.7/u/callable-discriminator-no-tag

Example Code
from typing import Any, Literal, Optional, Union

from pydantic import BaseModel, Discriminator, Field, Tag, create_model
from typing_extensions import Annotated

# Definitions

def model_x_discriminator(v: Any) -> str:
    if isinstance(v, int):
        return "int"
    if isinstance(v, str):
        return "str"
    raise ValueError()

class ValueInt(BaseModel):
    type: Literal["int"] = "int"
    x: int

class ValueStr(BaseModel):
    type: Literal["str"] = "str"
    x: str

# old-style discriminator by class property

OldDiscriminatedType = Annotated[
    Union[ValueInt, ValueStr],
    Field(discriminator="type"),
]

class OldDiscriminatedModel(BaseModel):
    value: OldDiscriminatedType

class OldDiscriminatedModelOptional(BaseModel):
    value: Optional[OldDiscriminatedType]

old_value_field_info = OldDiscriminatedModel.model_fields["value"]
print(
    create_model(
        "OldDiscriminatedModelOptionalTest",
        __base__=OldDiscriminatedModel,
        **{
            "value": (
                Optional[OldDiscriminatedType],
                old_value_field_info,
            )
        },
    )
)
# outputs a new class

# new-style Discriminator and Tag

NewDiscriminatedType = Annotated[
    Union[
        Annotated[ValueInt, Tag("int")],
        Annotated[ValueStr, Tag("str")],
    ],
    Discriminator(model_x_discriminator),
]

class NewDiscriminatedModel(BaseModel):
    value: NewDiscriminatedType

class NewDiscriminatedModelOptional(BaseModel):
    value: Optional[NewDiscriminatedType]

new_value_field_info = NewDiscriminatedModel.model_fields["value"]
print(
    create_model(
        "NewDiscriminatedModelOptionalTest",
        __base__=NewDiscriminatedModel,
        **{
            "value": (
                Optional[NewDiscriminatedType],
                new_value_field_info,
            )
        },
    )
)
# raises an error

Python, Pydantic & OS Version
$ python3 -c "import pydantic.version; print(pydantic.version.version_info())"
             pydantic version: 2.7.1
        pydantic-core version: 2.18.2
          pydantic-core build: profile=release pgo=false
                 install path: /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pydantic
               python version: 3.9.0 (v3.9.0:9cf6752276, Oct  5 2020, 11:29:23)  [Clang 6.0 (clang-600.0.57)]
                     platform: macOS-10.16-x86_64-i386-64bit
             related packages: typing_extensions-4.11.0
                       commit: unknown

@chiselko6,
Thanks for the detailed description and reproducible code snippet. Definitely looks like a bug. Can be a bit difficult to track down with our complicated discriminator application logic, but I'll look into a fix for this in 2.8!

If anyone wants to take a stab in the meantime, be my guest :).

Hi!
I was able to look into this further - I think it's actually just a syntax fix when specifying the default value for the fields in the create_model call. The following works as expected:
from typing import Any, Literal, Optional, Union

from pydantic import BaseModel, Discriminator, Field, Tag, create_model
from typing_extensions import Annotated

# Definitions

def model_x_discriminator(v: Any) -> str:
    if isinstance(v, int):
        return "int"
    if isinstance(v, str):
        return "str"
    raise ValueError()

class ValueInt(BaseModel):
    type: Literal["int"] = "int"
    x: int

class ValueStr(BaseModel):
    type: Literal["str"] = "str"
    x: str

# old-style discriminator by class property

OldDiscriminatedType = Annotated[
    Union[ValueInt, ValueStr],
    Field(discriminator="type"),
]

class OldDiscriminatedModel(BaseModel):
    value: OldDiscriminatedType

class OldDiscriminatedModelOptional(BaseModel):
    value: Optional[OldDiscriminatedType]

print(
    create_model(
        "OldDiscriminatedModelOptionalTest",
        __base__=OldDiscriminatedModel,
        value=(Optional[OldDiscriminatedType], ...),
    )
)
# outputs a new class

# new-style Discriminator and Tag

NewDiscriminatedType = Annotated[
    Union[
        Annotated[ValueInt, Tag("int")],
        Annotated[ValueStr, Tag("str")],
    ],
    Discriminator(model_x_discriminator),
]

class NewDiscriminatedModel(BaseModel):
    value: NewDiscriminatedType

class NewDiscriminatedModelOptional(BaseModel):
    value: Optional[NewDiscriminatedType]

new_value_field_info = NewDiscriminatedModel.model_fields["value"]
print(
    create_model(
        "NewDiscriminatedModelOptionalTest",
        __base__=NewDiscriminatedModel,
        value=(Optional[NewDiscriminatedType], ...),
    )
)
# returns a class

The ... is used to specify that the field is required and that there's no default value. You actually have all of the type annotation info that you need already attached to the type, so no need to pull the info from the model_fields of other models. Hope this helps, and feel free to ping me if you have any other questions!

Hi @sydney-runkle!
Thank you for the response! I was using existing field info in order to preserve original setup (say, it's configured as Field(le=3), so I don't want to lose this constraint). Going further, if I needed to add a default None in addition to make the field optional, I would come up with something like this - here I am using FieldInfo.merge_field_infos to merge the new default value:
from typing import Any, Literal, Optional, Union

from pydantic import BaseModel, Discriminator, Field, Tag, create_model
from pydantic.fields import FieldInfo
from typing_extensions import Annotated

def model_x_discriminator(v: Any) -> str:
    if isinstance(v, int):
        return "int"
    if isinstance(v, str):
        return "str"
    raise ValueError()

class ValueInt(BaseModel):
    type: Literal["int"] = "int"
    x: int

class ValueStr(BaseModel):
    type: Literal["str"] = "str"
    x: str

NewDiscriminatedType = Annotated[
    Union[
        Annotated[ValueInt, Tag("int")],
        Annotated[ValueStr, Tag("str")],
    ],
    Discriminator(model_x_discriminator),
]

class NewDiscriminatedModel(BaseModel):
    value: NewDiscriminatedType

class NewDiscriminatedModelOptional(BaseModel):
    value: Optional[NewDiscriminatedType] = Field(default=None)

OldDiscriminatedType = Annotated[
    Union[ValueInt, ValueStr],
    Field(discriminator="type"),
]

class OldDiscriminatedModel(BaseModel):
    value: OldDiscriminatedType

class OldDiscriminatedModelOptional(BaseModel):
    value: Optional[OldDiscriminatedType] = Field(default=None)

new_value_field_info = NewDiscriminatedModel.model_fields["value"]
old_value_field_info = OldDiscriminatedModel.model_fields["value"]
print(
    create_model(
        "OldDiscriminatedModelOptionalTest",
        __base__=OldDiscriminatedModel,
        **{
            "value": (
                Optional[OldDiscriminatedType],
                FieldInfo.merge_field_infos(old_value_field_info, Field(default=None)),
            )
        },
    )
)
print(
    create_model(
        "NewDiscriminatedModelOptionalTest",
        __base__=NewDiscriminatedModel,
        **{
            "value": (
                Optional[NewDiscriminatedType],
                FieldInfo.merge_field_infos(new_value_field_info, Field(default=None)),
            )
        },
    )
)

All works well for the old discriminator, however, creating a type based on new discriminator throws the same error. Could you confirm if this is a bug or still a syntax issue again?
Thank you.

Hi @chiselko6,
Good question. I believe that error message is a reflection of the fact that you're using a field info new_value_field_info that's attached to a type annotation of a not-optional NewDiscriminatedType. If you do the following, things work as expected:
new_value_field_info = NewDiscriminatedModelOptional.model_fields["value"]

NewDiscriminatedModelOptionalTest = create_model(
    "NewDiscriminatedModelOptionalTest",
    __base__=NewDiscriminatedModel,
    value=(Optional[NewDiscriminatedType], FieldInfo.merge_field_infos(new_value_field_info, Field(default=ValueInt(x=1))))
)
print(NewDiscriminatedModelOptionalTest)

print(repr(NewDiscriminatedModelOptionalTest()))
#> NewDiscriminatedModelOptionalTest(value=ValueInt(type='int', x=1)

In general, I think I'd advise against reusing field infos like this, but if you have to, I'd recommend keeping the type annotations the same when you reuse! You can also use annotated types for constraint reuse!


DatePicker invalidText not visible

Detailed description

Describe in detail the issue you're having.

After updating carbon components to 10.26.0 the invalid text for a date picker is no longer visible.

Is this a feature request (new component, new icon), a bug, or a general issue?

bug

Is this issue related to a specific component?

DatePicker

What did you expect to happen? What happened instead? What would you like to see changed?

I would expect the invalidText to be visible when the date picker is marked as invalid

What browser are you working in?

Chrome

What version of the Carbon Design System are you using?

"carbon-components": "10.26.0",
"carbon-components-angular": "4.36.2",

What offering/product do you work on? Any pressing ship or release dates we should be aware of?

Workaround is not to update carbon-components. Product is to be released end of February
Additional information
<div class="container">

  <ibm-date-picker [invalid]="true" invalidText="This is the invalid text" [(ngModel)]="date"></ibm-date-picker>

  {{date | json}}
</div>

results in:

While it used to be (and also the expected behavior)

This seems to work fine in carbon components react, tried that in a sandbox.

Turning on "Show form validation" knob in https://angular.carbondesignsystem.com/?path=/story/components-date-picker--single works fine.
Does updating the version fix it?
If not, can you please provide a minimal reproduction?

Turning on "Show form validation" knob in https://angular.carbondesignsystem.com/?path=/story/components-date-picker--single works fine.
Does updating the version fix it?
If not, can you please provide a minimal reproduction?

Thanks for the reply.
Updating does not fix it unfortunately.
Please find attached a small reproduction project.
carbon-datepicker-main.zip
Also, is there any way to see which Carbon versions  the Story page is using?

Thanks for the reply.
Updating does not fix it unfortunately.
Please find attached a small reproduction project.
carbon-datepicker-main.zip
Also, is there any way to see which Carbon versions  the Story page is using?

Stories are using the latest version.

Stories are using the latest version.

And by latest version, I mean latest version of carbon-components-angular. carbon-components version is the one in our devDependencies in package.json, and it happens to be 10.23.2 and changing that in your reproduction makes it work as expected too.

And by latest version, I mean latest version of carbon-components-angular. carbon-components version is the one in our devDependencies in package.json, and it happens to be 10.23.2 and changing that in your reproduction makes it work as expected too.

This is definitely a breaking change on Carbons side, issue here to track: https://github.com/carbon-design-system/carbon/issues/7597

This is definitely a breaking change on Carbons side, issue here to track: https://github.com/carbon-design-system/carbon/issues/7597


Invitations are removed from the list too soon

Updates the code to update invitations only after the invitee has completely registered
https://github.com/zulip/zulip/issues/12281
I do not know how to test the code. I have checked it by running the changes locally and creating invitations and checking.

Wouldn't a better solution be in the confirmation/ module code, instead of adding hacks to flip the status back and forth in our registration flow? Here's an idea we could try:

The confirmation_object is getting tagged as ACTIVE in get_object_from_key which we call in check_prereg_key_and_redirect. We probably want to avoid that status change happening here. So, we:
Add an option to get_object_from_key such as activate_object (default True) which, if set to False will skip the statuschange part of get_object_from_key.
Call get_object_from_key with that option=False.
Change the status to active in do_create_user basically the way you're doing it. (But we should use confirmation.settings.STATUS_ACTIVE instead of the hardcoded value of 1).

As a sidenote, we usually don't use the "Request review" feature in PRs - because essentially everything gets reviewed by Tim before being merged, so it's clear he's requested for review when a PR is posted. Requesting other people may be unnecessary, because they may not be currently active etc. - unless there's a specific reason to poke someone. Do feel free to poke me on PRs that are in the registration/authentication are :slightly_smiling_face:

As a sidenote, we usually don't use the "Request review" feature in PRs - because essentially everything gets reviewed by Tim before being merged, so it's clear he's requested for review when a PR is posted. Requesting other people may be unnecessary, because they may not be currently active etc. - unless there's a specific reason to poke someone. Do feel free to poke me on PRs that are in the registration/authentication area

Sure @mateuszmandera . Thanks

@mateuszmandera Some checks are failing. I am attaching the necessary screenshot.

Thanks for working on the changes! The behavior looks good now, I posted some mostly stylistic comments. In https://chat.zulip.org/#narrow/stream/137-feedback/topic/selectively.20restrict.20emoji.20reactions/near/817249 I commented about the test failures.
We'll also need some new tests to verify the new behavior does what we want, and finally to fix the commit history to be clean.

Please help me understand how to write the tests @mateuszmandera

I think we'll need a test like this:
sign up process is initiated, taken to the point where a PregegistrationUser attached to a Confirmation exists, the confirmation link is clicked, but the sign up not yet completed. At this step verify the PreregistrationUser hasn't been marked as ACTIVE. Now finish sign up and check the PreregistrationUser  is ACTIVE. See zerver/tests/test_signup.py for how tests around signup are written.

@mateuszmandera one thing that's on my mind for this issue is whether we should have the "ACTIVE_STATUS" tracking have a third state?  I can imagine, e.g. "not viewed" "viewed" and "used", and the correct behavior would be to change from the default status to 1=STATUS_VIEWED and then to 2=STATUS_REGISTERED?  That seems like a much more sensible way for this to work.

@timabbott My issue with that approach was the status is an attribute of the abstract object attached to a Confirmation - so while these statuses make perfect sense for PreregUser, they may not for other objects. I think EmailChangeStatus is currently the only object attachable to Confirmations that has a status attribute, but I don't these 3 statuses make sense for it?

@mateuszmandera My backend test has passed but there is some frontend test that is failing :
`#!/bin/bash -eo pipefail
. /srv/zulip-py3-venv/bin/activate
mispipe ./tools/ci/frontend ts

./tools/lint --groups=frontend --skip=gitlint
Feb 21 09:28:10 Using /srv/zulip-py3-venv
Feb 21 09:28:13 No newline at the end of file. Fix with sed -i '$a\' static/generated/pygments_data.js
Exited with code exit status 1
CircleCI received exit code 1`

Please let me know if the changes are fine. I would request you to merge my changes. Thanks

@arunikayadav42 Okay, I think we pretty much have this right now. I posted some comments for minor fixes. At the end, could you also squash the commits into a single  one with a commit message fitting our conventions? After that I'll take a look again and then we should be able to ping Tim to see if he wants to merge or if we'll end up making changes to do the approach with adding another status value.

Okay, looks ready now! :slightly_smiling_face: @timabbott Can you look through this? This has the original approach right now, my concern about the additional REGISTERED status approach was (from a comment above):

My issue with that approach was the status is an attribute of the abstract object attached to a Confirmation - so while these statuses make perfect sense for PreregUser, they may not for other objects. I think EmailChangeStatus is currently the only object attachable to Confirmations that has a status attribute, but I don't these 3 statuses make sense for it?

@arunikayadav42 Can you fix the conflicts?

@arunikayadav42 Github says this still has a conflict in test_signup :thinking:

Closing in favor of the actively developed version, #14584.


Adding LCUIComponents to the UI section

Project URL
https://github.com/linhcn/LCUIComponents
Description
LCUIComponents is a framework that supports creating transient views on top of other content onscreen such as popover.
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 3 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

Hi @linhcn, and welcome to Awesome iOS!
This is indeed a nice lib, and a friend was looking for something exactly like this.
I'll just recommend this one to him. Thank you for your collaboration! 🎊

Thanks @victorgama, glad to hear that.


Allow us to disable in development

I only want to collect metrics in production.
Currently there is no way to turn them off based on your environment.

@timini this is a great idea, would you like to submit a PR taking a crack at it?

Nvm I see #34, wasn't referenced :)