In Information Entry => Local training information page, SPDS and LPDS link is not working and SPDS is spelled incorrectly.

It's working properly


Root span - end time in an event driven architecture

What happened?
Steps to Reproduce

Create a parent span
Create a child span based on the traceparent header.
Close the child span at the end of Service 1 after message is pushed to service bus or RabbitMQ
Create a child span based on the traceparent header in Service 2
....

Expected Result
I would have expected the logs to be already shown under the parent span in a tool like azure monitor, zipkin or jaeger.
I know why this happens and it's because the parent span is not being closed at the end of let's say messages being pushed through 20 services and when all are finalized the parent span is supposed to be closed.
This would happen in an entirely other service so i'm already not sure if we can close the initial parentspan based on the traceparent header ? If not starting and immediatly ending the parentspan would be a solution but then to "process runtime" isn't really adding up as the full process could take 5 minutes to go through all services.
Actual Result
As long as the parent span is not closed all childspans appear but are managed under the first "child span".
Additional Details
Is there an option to create a parent span that keeps open (never closes) which all childs are managed under so that the main parent timeline looks correct ?
I assume the setup code & package.json doesn't matter in this case as it's a functional issue i.m.o ?
If anyone has advice on how to managed the parent span staying open and being logged immediatly (basicly no end date defined yet) please keep me informed.
Receive event -> queue  -> Service 1 -> queue -> Service 2  -> queue -> Send to external (end)
span flow below:
--- create parent -------- child start - child end -- child start - child end -- child start -child end
OpenTelemetry Setup Code
// server.tracer is the decoration of the getTracer method (this all works)

// API endpoint to create the Parent Span
const span_name: string = req.headers['span-name'];
const span = server.tracer.startSpan(span_name);

// API endpoint to create a Child span
const span_name: string = req.headers['span-name'];
        const traceparentDecode = util.getTraceparentSections(req.headers.traceparent);
        if (traceparentDecode !== null) {
          const parentcontext: ot.SpanContext = {
            traceId: traceparentDecode.traceId,
            spanId: traceparentDecode.parentId,
            traceFlags: 1
          };

          const ParentSpanContext = ot.trace.setSpanContext(ot.context.active(), parentcontext);

          const Span: ot.Span = server.tracer.startSpan(span_name, { startTime: new Date(req.headers['span-start-date']) }, ParentSpanContext);
          Span.setStatus({
            code: ot.SpanStatusCode.OK
          });
}

package.json
{
  "name": "otlp-api-logger",
  "private": true,
  "license": "UNLICENSED",
  "version": "1.0.0",
  "description": "",
  "scripts": {
    "remove_build": "rimraf build",
    "start": "node build/index.js",
    "dev": "yarn remove_build && yarn build && yarn start",
    "build": "yarn remove_build && swc ./src --out-dir build",
    "format": "prettier --write .",
    "lint": "yarn lint:types && yarn lint:code && yarn format",
    "lint:types": "tsc --noEmit",
    "lint:style": "prettier --check .",
    "lint:code": "eslint ."
  },
  "dependencies": {
    "@fastify/helmet": "^11.0.0",
    "@fastify/rate-limit": "^9.1.0",
    "@fastify/swagger": "^8.3.1",
    "@fastify/swagger-ui": "^1.8.1",
    "@opentelemetry/exporter-trace-otlp-proto": "^0.52.1",
    "@opentelemetry/sdk-trace-node": "^1.25.1",
    "axios": "^1.6.7",
    "dotenv": "^16.4.5",
    "fastify": "^4.26.0",
    "fastify-type-provider-zod": "^1.1.9",
    "uuid": "^9.0.1",
    "zod": "^3.22.4"
  },
  "devDependencies": {
    "@swc/cli": "^0.1.62",
    "@swc/core": "^1.3.56",
    "@types/uuid": "^9.0.1",
    "@typescript-eslint/eslint-plugin": "^6.4.0",
    "@typescript-eslint/parser": "^7.5.0",
    "eslint": "^8.0.1",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-prettier": "^5.1.3",
    "gts": "^5.3.0",
    "prettier": "^3.2.5",
    "rimraf": "^5.0.5",
    "swc": "^1.0.11",
    "typescript": "5.5.2"
  }
}

Relevant log output
No response

A span is never exported if it is never closed because we add the span to the export batch on close. There is no concept in opentelemetry of a never-ending span. If you need a feature like this it would be best raised in the specification, but as otel is currently specified this isn't something we can support. My advice would be to just end the parent span so that it can be exported, and to look into the latest messaging semantic convention for advice https://github.com/open-telemetry/semantic-conventions/tree/main/docs/messaging
You may also want to look into span links, which are a bit more flexible than parent-child relationships and may make it easier to model your scenario. The messaging SIG meets every Thursday at 8:00 PT. You can find a link to their notes in the otel calendar. All otel meetings are open to the public so it might be a good idea to join and give your thoughts to them there.


It doesn't work

➜  temp cat src/source.java
password=123
username=333
pwd=344
passwort=3333333
benutzername=32
➜  temp ripsecrets
➜  temp

I can successfully reproduce OP's behavior with the following script:
#!/usr/bin/env bash

# Ensure the directory is empty.
TEST_DIR=/tmp/ripsecrets-68
rm -rf "$TEST_DIR"
mkdir "$TEST_DIR"

# Create the content
cat << EOF > "$TEST_DIR"/source.java
password=123
username=333
pwd=344
passwort=3333333
benutzername=32
EOF

# Run ripsecrets.
cd "$TEST_DIR"
ripsecrets

With a sufficiently long and random string, I'm able to get ripsecrets to detect a value.
Contents of test.sh:
#!/usr/bin/env bash

# Ensure the directory is empty.
TEST_DIR=/tmp/ripsecrets-68
rm -rf "$TEST_DIR"
mkdir "$TEST_DIR"

# Create the content
cat << EOF > "$TEST_DIR"/source.java
password=vslJRBRIHkmZjbs2PgadKAkQb4WiS24Tcrgyp0T/e2wfK1YYsjnEzA8Uqc5dplEFUiCA39VMhAVp
username=333
EOF

# Run ripsecrets.
cd "$TEST_DIR"
ripsecrets

Output of running the script:
$ ./test.sh
./source.java:1:password=vslJRBRIHkmZjbs2PgadKAkQb4WiS24Tcrgyp0T/e2wfK1YYsjnEzA8Uqc5dplEFUiCA39VMhAVp

@dodalovicgran Just to clarify, can you specify which of the original values you would like ripsecrets to detect?

password=123
username=333
pwd=344
passwort=3333333
benutzername=32

Although some of those lines contain the keywords that trigger the random data inspector (which could stand for some expansion to include pwd and some localization of password, e.g. passwort, wachtwoord, pasvorto, etc.
https://github.com/sirwart/ripsecrets/blob/713e03e31627289bff9c3ae384eb9a2895bd6c58/src/matcher/mod.rs#L9
…the lines definitely don't match known patterns.
https://github.com/sirwart/ripsecrets/blob/713e03e31627289bff9c3ae384eb9a2895bd6c58/src/lib.rs#L22
and they aren't long enough to trigger the random data inspector:
https://github.com/sirwart/ripsecrets/blob/713e03e31627289bff9c3ae384eb9a2895bd6c58/src/matcher/p_random.rs#L11-L13

password generated from pwgen doesn't reported as secret. example:
quah0dou7gueraiyoo4Eeg6i
phahghah1shieWai7taegoov
eHiPhohniehei7Cohbei5aeM

I don't have time to implement it right now, but perhaps a test that could run pwgen --secure ${rand(range(15,80))} 1000 and see how often the random detector heuristic correctly detects what pwgen represents as random, and document that.

@dramer-817 what does the secret look like in the file? If it's just a random string (i.e doesn't have a well known secret prefix) it needs to have something that makes it look like secret. For example
password = 'ohm7Fushobeaho0iemahke8ta8chaowouphughoVanaigho0ohthoh0eedufiMohzeibeeRakoot6'

@sirwart yes tried that and not detected
@colindean pwgen with no --secure option not detected, with --secure correctly detected


Added new post for Test Driven Development with Golang

please fall down the potholes for me hehe!

@Illizian consider me falling!

nudge nudge @Illizian x


Remove all exports

On julia-0.5 one was getting the following warning:
WARNING: using PkgSearch.next in module Main conflicts with an existing identifier.

That's because PkgSearch doesn't import Base: next. But I don't really see any reason to extend next, you just want your own private version of next, so the obvious thing to do is to not export it. Since in your README all your functions are scoped by the module, it seems reasonable to just delete all exports.
The first commit contains the only "real" change, the rest is just whitespace (I have emacs set to delete trailing whitespace, etc).

Makes sense, I agree.

Thanks for the contribution!


[SASS-3757] Refactoring related to two yes/no/amount pages.

Various refactoring to make other scenarios more succinct.
Removed unnecessary variations of summaries where the user type + preferred language was irrelevant.

[X]  Had a QA verify that all acceptance criteria have been met, with comment(s) in the ticket?
[X]  Hosted a group review of your implementation?
[X]  Rebased against main?
[X]  Ensured that your commit(s) contain the ticket key?
[X]  Ensured that your branch is named after the ticket key?
[X]  Successfully run the unit tests?
[X]  Successfully run the integration tests?
[x]  Successfully run the journey tests? If not, please add a comment explaining why it wasn't necessary.
[ ]  Ensured that the PR job has passed.

Reviewer: Before Reviewing
Have you ...

[ ]  Pulled the branch down?
[ ]  Assigned yourself to this PR?
[ ]  Moved the Jira subtask to “in review”?
[ ]  Ensured that it is rebased against main?

Developer: After Approval
Have you ...

[ ]  Rebased against main?
[ ]  Moved the Jira subtask to “in pipeline”?

Developer: After Merging
Have you ...

[ ]  Deleted the branch?
[ ]  Scheduled a demo? If not, please add a comment.

Successfully run the journey tests? If not, please add a comment explaining why it wasn't necessary.

Note that @walesoares ran the journey tests for me, as I'm having trouble with my service manager.


Link in README leads to 404

The README links to https://terminusdb.com/t/data/bikeshare/, which returns a 404.

@rrooij could you have a look?

Don't know how this one went under the radar. Have fixed the link in the README

@luke-feeney Thanks!


Selftest completion

It seems that selftest completion condition
(PCD_ReadRegister(DivIrqReg) & 4) may not work.
On my v1.0 device DivIrqReg is stuck at 0x13 during test,
but output data is generated succesfully.
I think, the better way to check for completion is to
monitor FIFO level register.

Please add comments, otherwise later people may revert this code without this knowledge.


Authentication problems

Hi,
I am trying to use this library and I am having problems to use the OAuth authentication.
My code is:

    private static final String CLIENT_ID = "MY_CLIENT_ID_HERE";
    private static final String CLIENT_SECRET = "MY_SECRET_HERE";

    public static void main(String[] args) throws Exception {
        AnalyticsClient client = new AnalyticsClientBuilder()
                .setEndpoint("api2.omniture.com")
                .authenticateWithClientCredentialsOAuth(CLIENT_ID, CLIENT_SECRET)
                .build();

        ReportSuiteMethods suiteMethods = new ReportSuiteMethods(client);
        CompanyReportSuites reportSuites = suiteMethods.getReportSuites();
        for (CompanyReportSuite suite : reportSuites.getReportSuites()) {
            System.out.println("Suite: " + suite);
        }
  }

Pretty much as in the README: https://github.com/Adobe-Marketing-Cloud/analytics-java-library/blob/master/README.md#L176-L179
But it fails with:
Exception in thread "main" com.adobe.granite.analytics.client.ApiException: invalid_client (The client credentials are invalid)
	at com.adobe.granite.analytics.client.ConnectionUtil.readResponse(ConnectionUtil.java:25)
	at com.adobe.granite.analytics.client.auth.OAuthenticator.getToken(OAuthenticator.java:63)
	at com.adobe.granite.analytics.client.auth.OAuthenticator.authenticate(OAuthenticator.java:44)
	at com.adobe.granite.analytics.client.AnalyticsClient.callMethod(AnalyticsClient.java:43)
	at com.adobe.granite.analytics.client.AnalyticsClient.callMethod(AnalyticsClient.java:31)
	at com.adobe.granite.analytics.client.methods.ReportSuiteMethods.getReportSuites(ReportSuiteMethods.java:34)
	at test.AdobeDriver.main(AdobeDriver.java:41)

I get the CLIENT_ID and the SECRET_ID from https://console.adobe.io/integrations/XXXXX/YYYYY/overview (XXXXX and YYYYY are numbers).
What could be the problem ?
Is it that this library still uses the 1.4 APIs - https://github.com/Adobe-Marketing-Cloud/analytics-java-library/blob/6f4a9b6900b7555d2a32ba3394e156b956d9d3d5/src/main/java/com/adobe/granite/analytics/client/AnalyticsClient.java#L48 ?
Should I follow the JWT approach (https://github.com/AdobeDocs/analytics-2.0-apis/tree/master/examples/jwt/java) ?

To answer myself: the JWT approach do work!
It seems this library is obsolete!
@Adobe-Marketing-Cloud/team: Please add a red/bold note at the top of the README that it is not useful anymore.


Libgcrypt crashes on startup

I've noticed that clboss 0.13A fails to start after reboot, any ideas why?

That seems a very strange error, possibly from libcurl? Hmm.


reverse is not doing great

Describe the bug
when reverse is set to true, the text instead of lopping it then just stops when the loop completes and starts over, however this is not the same case with 'normal'.
To Reproduce
Steps to reproduce the behavior:
    <Vue3Marquee :duration="7" :direction="dir == 'rtl' ? 'reverse' : 'normal'">
       This is English text but it is gonna be in arabic sometime
    </Vue3Marquee>

Expected behavior
Should work exactly as normal but in reverse.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Debian 12
Browser FireFox
Version 122.0.1

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

I just ran a quick test to see if using reverse direction causes and issue. It works okay on my side. Is the text and/or the direction prop dynamically changing?


Service not staring after reboot

I am using a Galaxy S21 5G with Android 13
On this device the flutter_foreground_task does not get rescheduled after boot when using option
autoRunOnBoot: true,
My init code.
FlutterForegroundTask.init(
    androidNotificationOptions: AndroidNotificationOptions(
      channelId: 'notification_channel_id',
      channelName: 'Foreground Notification',
      channelDescription: 'This notification appears when the foreground service is running.',
      channelImportance: NotificationChannelImportance.NONE,
      priority: NotificationPriority.MIN,
      visibility: NotificationVisibility.VISIBILITY_SECRET,
      iconData: const NotificationIconData(
        resType: ResourceType.mipmap,
        resPrefix: ResourcePrefix.ic,
        name: 'launcher',
      ),
    ),
    iosNotificationOptions: const IOSNotificationOptions(
      showNotification: false,
      playSound: false,
    ),
    foregroundTaskOptions: const ForegroundTaskOptions(
      interval: 5000,
      isOnceEvent: false,
      autoRunOnBoot: true,
      allowWakeLock: true,
      allowWifiLock: false,
    ),
  );

Using Channel stable, 3.7.12 with flutter_foreground_task 4.1.0

Are you building for SDK 31 or 33?  I am only able to get it to work using the example code provided and only on 31.

release version ^4.2.0
you will need to add the information below to use this version.
/android/app/build.gradle
defaultConfig {
  targetSdkVersion 33 // need bump
}

/android/app/src/main/AndroidManifest.xml
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> <!-- for Android 13 -->


Image Build fails on Step 5/7

=> ERROR [5/7] RUN /scripts/base/preparemetadata.sh &&     /scripts/installers/basic.sh &&     /scripts/base/repo  0.6s

[5/7] RUN /scripts/base/preparemetadata.sh &&     /scripts/installers/basic.sh &&     /scripts/base/repos.sh &&     /scripts/helpers/apt.sh &&     /scripts/installers/7-zip.sh &&     /scripts/installers/azcopy.sh &&     /scripts/installers/gcc.sh &&     /scripts/installers/clang.sh &&     /scripts/installers/cmake.sh &&     /scripts/installers/build-essential.sh &&     /scripts/installers/azure-cli.sh &&     /scripts/installers/azure-devops-cli.sh:
#9 0.605 /bin/sh: 1: /scripts/base/preparemetadata.sh: not found

executor failed running [/bin/sh -c /scripts/base/preparemetadata.sh &&     /scripts/installers/basic.sh &&     /scripts/base/repos.sh &&     /scripts/helpers/apt.sh &&     /scripts/installers/7-zip.sh &&     /scripts/installers/azcopy.sh &&     /scripts/installers/gcc.sh &&     /scripts/installers/clang.sh &&     /scripts/installers/cmake.sh &&     /scripts/installers/build-essential.sh &&     /scripts/installers/azure-cli.sh &&     /scripts/installers/azure-devops-cli.sh]: exit code: 127

Hi @andresvettori
Sorry for not replying earlier. I have a scheduled build that runs every Saturday, it never failed in the last runs.
You can see the GitHub Workflow runs here: https://github.com/RobertoPrevato/AzureDevOps-agents/actions
Do you have any local change in your environment?

Closing this issue since GitHub workflows demonstrate the build works.

I'm also running into this issue on WSL2 on windows 10. What's your build environment? I'd love to get some of these containers spun up on my ADO instance.

Aha - found the cause on this one. CRLF endings are screwing with the docker daemon. If you build on windows make sure to use LF endings on the shell files.

Hi @Jedmeyer, thank you for the information! I was puzzled about why some users were reporting failing builds, when they always succeeded in my Azure DevOps pipelines and GitHub actions (they both run on Ubuntu).
Honestly I started using Docker when the CLI was still implemented in Python and not in Go, so a long time before it was available on Windows, and I still always use it on Ubuntu, so I never tried to build them on WSL (although I use it, too, for other purposes).

Happy to help! I'm actually running into build issues in other spots too on WSL, so I'm going to pivot to an ubuntu build. Hopefully that knocks out everything 😊


expose lilv_free() with features, for windows compatibility

Various functions e.g.  abstract_path() make the caller responsible for freeing the returned value with free().
On Windows this is not an option. Memory allocated by a library must be free()ed by that library/module

N/M it's already there... sorry for the noise

I was too quick.
A plugin does not link against liblilv and cannot call lilv_free() directly.  A plugin receives abstract_path(), absolute_path() via the  LV2_State_Map_Pathfeature.   Is free()` needs to be part of the provided feature.

See https://gitlab.com/lv2/lv2/tree/free-path and https://github.com/drobilla/lilv/commit/055e645099c66d2ac0394dbb8cc73e843ca7a2fd

@x42 I've updated this on current master, and it seems fine as far as the (relatively limited) tests go.  Did you have a specific motivating case it would be good to check before merging this stuff?

All state restore methods that use map_path->abstract_path(). I've #idef'ed out the free() call in many plugins like
https://github.com/x42/convoLV2/blob/ff291a3d5e60ddbcf9458c3ad24d4a06c8252acb/lv2.c#L473-L475

I don't have a setup at the moment that can build stuff outside lv2kit and friends on Windows.  Let me rephrase: is there a specific motivating case you would like to check before this stuff gets merged? :)

API-wise, as is so often the case, I really regret LV2 not having the ability to just jam stuff on the end of structs, getting a feature for this is pretty annoying, but... given reality, this seems fine to me.

What is the envisaged way to test at compile-time if LV2_STATE__freePath is available?

I didn't think about that.  The LV2 version I guess?

You could also just keep the fallback ifdeffed out I suppose.

is the URI guarenteed to be a #define? if so
#ifdef LV2_STATE__freePath
...
#endif

might work

Same as anything else, really.  I guess having an LV2_VERSION declared in the header would be handy, but it's annoying to have generated stuff in the headers, and that's what build systems are for...
Anyway, I guess I can stick this stuff on master and it can get hammered out a bit in practice in Ardour before release since IIRC you aren't using releases anyway.

You could also just keep the fallback ifdeffed out as you did there I suppose.

I will do that for a while, at least until debian/stable picked up new LV2 headers.
Also #ifdef LV2_STATE__freePath looks like a reasonable test.
As far as I'm concerned, this issue can be closed. Thanks!

Addressed in https://github.com/drobilla/lilv/commit/ac562cafe4c94db6965c4f715e276b2acc82bef0


pyslurm: 20170302 -> 20180427

Fixes build against slurm 17.11.5
Fixes: 0e0b80d4b42 ('slurm: 17.11.3 -> 17.11.5')
Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build python2Packages.pyslurm python3Packages.pyslurm

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: python2Packages.pyslurm, python3Packages.pyslurm
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: python2Packages.pyslurm, python3Packages.pyslurm
Partial log (click to expand)

OK
gcc -pthread -shared -lgcc_s build/temp.linux-x86_64-2.7/pyslurm/pyslurm.o -L -L/slurm -L/nix/store/l9j2jsc9flrbmpf799nw9wdq59gpwms8-python-2.7.14/lib -Wl,-R/ -Wl,-R/slurm -lslurmdb -lslurm -lpython2.7 -o /build/source/pyslurm/pyslurm.so

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
/nix/store/xp3mi1pxni065gzzj0wvwzfnz9a0rykl-python2.7-pyslurm-20180427
/nix/store/k6rzjnccskm8xi5v2khdh90lpkvgk7qq-python3.6-pyslurm-20180427

Failure on aarch64-linux (full log)
Attempted: python2Packages.pyslurm, python3Packages.pyslurm
Partial log (click to expand)
/nix/store/9ib9731m2av0dxpnj36gdwr48c6qmzvd-python2.7-numpy-1.14.2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
 #warning "Using deprecated NumPy API, disable it by " \
  ^~~~~~~
acquired default
acquired Global_A
building of '/nix/store/kh3qnjl7ik5ap4awv41hx6inl5k390sj-python2.7-Cython-0.28.1.drv' timed out after 3600 seconds
building of '/nix/store/dqfscwhjqfxd73arwp1gxf1y2wh0k6dm-python3.6-Cython-0.28.1.drv' timed out after 3600 seconds
cannot build derivation '/nix/store/cvjl5qgsbayd999zx3qr2rnhmwqj122p-python2.7-pyslurm-20180427.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/mz1w149idyg0yx35p7zif635rmxq8qsh-python3.6-pyslurm-20180427.drv': 1 dependencies couldn't be built
error: build of '/nix/store/cvjl5qgsbayd999zx3qr2rnhmwqj122p-python2.7-pyslurm-20180427.drv', '/nix/store/mz1w149idyg0yx35p7zif635rmxq8qsh-python3.6-pyslurm-20180427.drv' failed


Port extension to use WebExtensions API when available

While the extension did happen to work as-is on Firefox thanks to their
compatibility API, it wasn't much work to just make it use the
WebExtensions API as nearly nothing changes.
This also refactors the code to be strict mode, avoid leaking variables
to global scope, and to use the native clipboard API, if available,
instead of manipulating the page's text selection. The item id mapping
loop was optimized as well.
The extension pretty much just needs to be packaged and put on AMO.

Thank you for this PR 😄
I'm not super experienced with browser extensions so I'm sure there's a lot of optimization to do and they are really welcome. Thank you for your help.


NeuralProphet skater

This is under construction still.

There's now a good pattern established by sk_ which should make adding more batch-oriented things easier.


RuntimeDelegatingTypeHandler test failure

When running tests under JDK 11, there's one engine test that fails.
o.t.persistence.typeHandling.coreTypes.RuntimeDelegatingTypeHandlerTest#testDeserializeSub
The other four test cases in RuntimeDelegatingTypeHandlerTest continue to be fine.
There were "warning: raw use of parameterized type" messages all over that test file, in trying to understand the tests, the first thing I did was clean those up.
I haven't fixed the test yet, but I did get one of the other four to fail!
The place I've ended up is here: https://github.com/MovingBlocks/Terasology/blob/37debd9b59b0d7e62435a57d699504c96a33c0b7/engine/src/main/java/org/terasology/persistence/typeHandling/coreTypes/RuntimeDelegatingTypeHandler.java#L89-L94
that th.getClass().equals(dh.getClass()) is coming back true for the test's baseTypeHandler and subTypeHandler, so it uses the baseTypeHandler (as that was the one given to RuntimeDelegatingTypeHandler construction), but the test is written specifically to assert the subTypeHandler is used.
So, did I

uncover a bug in RuntimeDelegatingTypeHandler.serializeNonNull?
accidentally change (i.e. break) the semantics of the test when I changed things around to not use unparameterized types?
stumble on to some other type of distinction the test should be making? (e.g. does it need the subTypeHandler to be of a distinctly different class than the baseTypeHandler, not just a different instance with different type parameters).

and why were the test results different between javas 8 and 11?
I'll run some things under java 8 to see if I can find out about that, but I need input on the rest.

okay, now that test suite behaves the same way under JDK 8 and 11, which I appreciate.
The code under test looks like it was introduced in https://github.com/MovingBlocks/Terasology/pull/3535, if that rings any bells.

EvilTak provided some comments about this today: https://discord.com/channels/270264625419911192/696830442065625118/762033934925561866

That was a big merge because it has been a while and all of the TypeHandlerLibrary code move, but it seems to still apply.

@eviltak wrote:

If my hunch on how the JUnit Mockito extension works is right, then simply replacing the type of the  test class constructor parameter @Mock TypeHandler<Sub> subTypeHandler with @Mock SubHandler subTypeHandler should do the trick.

No such luck. It just makes the test fail a little earlier, deserialize not returning a value at all. https://github.com/MovingBlocks/Terasology/blob/caf972162cd2209cc82a33afe6c96f7de0262ad7/subsystems/TypeHandlerLibrary/src/test/java/org/terasology/persistence/typeHandling/coreTypes/RuntimeDelegatingTypeHandlerTest.java#L131-L133

After stubbing out the SerializationSandbox so we're not relying on how this test case builds an instance of Reflections, and paying a bit more attention to whether we've stubbed the Type or Class<> variant of methods, I think we have tests that pass in both Java 8 and Java 11 builds. :relieved:

 Java Version 11

I can't say I'm confident about this, relying as it does on mockito while involving type inspection. But it Works On My Machine, and on CI.


Line comment bug fix

Better line comment toggling , initiates the line comment at the start of the code and maintains the position of the cursor throughout (like sublime )
Better for lint to comment indents
Affected me so hence changed it
Will fail some editorCommandHandler tests which expect the line comment at the start of the line
fix for https://github.com/adobe/brackets/issues/11953#issuecomment-159572261

@borax12 Thanks for contributing to brackets.
There is a slight issue here

When you include a selection with uneven cursor position, it tries to comment out in the wrong place, and toggle comment breaks.
This could be fixed if you analyze the left most line position in the selection and then use that position for inserting the comments.

Ah , i see, checking it out

@abose i had to push extra commits due to some code formatting issues . Hope it works now

unit tests for editor command handlers fails after this change. The unit tests needs to be modified with the new commenting structure.

@abose - Rewrote the test cases , The editor command handler Unit Test Cases Pass now

It looks like you're changing it so that inline comments are always indented. Is that correct?
This needs to be a preference because some languages (VBScript, PHP, bash?) require that inline comment delimiter is in the first column. Then you'll need tests for both cases.

@redmunds yeah it is always indented . I checked the behaviour in ST2 for php and bash scripts - they are also always indented .
Does brackets have per language based preferences ?

:cool: Verified, all unit tests passing now.
You could have a preference like
"dontIntentComments" {"languages":['bash']} ..
With reasonable defaultpreferences set for languages.

You could have a preference like "dontIntentComments" {"languages":['bash']}

Brackets already has a mechanism for specifying language specific preferences, so no need to invent a new one. Take a look at this example in the How to Use Brackets doc, especially the "language" section:
    "language": {
        "javascript": {
            ...
        }
    },

As far as what to call the new preference, it depends on what the default is. Since the current default is not to indent, then a name like indentInlineComments would be consistent with existing behavior since prefs that are not defined, evaluate to "falsy". If we want to change the default to be indented, then maybe dontIndentInlineComments.

@redmunds @abose - Ohk , will take a bit of time as i need to see how preference loading and initiating works in brackets . but i will have to research which languages take line comment indentation by default

If some languages require that the comments start on the first column, it should be a property of the language definition and not a preference. There can be a preference if an user decides to overwrite such behaviour or wants to go back to have comments at the start of a line.

Never knew that language based pref existed :sweat_smile: Thanks @redmunds @TomMalbran

@borax12 There is already PR https://github.com/adobe/brackets/pull/11574 that looks like it fixes the same issue.
@MarcelGerber What's the status of your PR?

@borax12 Could you also look at #11574 and see if Your implementation has any functionality difference with it.
#11574 also doesn't seem to implement any unit tests.

i will do that @arun . I have been trying to get the per language
based setting correctly . I will also look at #11574
On 12/1/15, Arun Bose<EMAIL_ADDRESS>wrote:

@borax12 Could you also look at #11574 and see if Your implementation has
any functionality difference with it.
#11574 also doesn't seem to implement any unit tests.

Reply to this email directly or view it on GitHub:
https://github.com/adobe/brackets/pull/11954#issuecomment-160886902

--
[image: Supratim Chakraborty on about.me]
Supratim Chakraborty
about.me/borax12
http://about.me/borax12

@borax12 Did you get any chance to look into the isues? This is a very good usability improvement that we could ship as part of 1.6 coming late december or early jan.

@abose  @redmunds i added the default preference and also added tests to accompany both cases for this preference being true or false

@redmunds - i added to the defaultPreference

@abose - status update for this ?

@redmunds @abose - thread bump

Made some comments, mostly just nitpicks on styles (spacing), but the tests should most likely be written for both preference cases (true/false) separately.

Hey @petetnt , will be going through the styling issues , i thought i did adhere to all lint checks but yeah there might be some conventions i made mistakes about , regarding the test, because its a user dictated feature , i wrote test cases which cover both based on the toggling of the feature. Lot of boilerplate :(

I don't think the linter enforces spacing right now so it's mostly just to fit the other code :)
The boilerplate kinda sucks, but that way you can ensure that both cases are being tested (you could try flipping the pref on afterEach and running the test again but not sure if that's possible.

Well i will be working on the spacing and forced execution of both tests . Expect this to drop down very soon good sir :)

@petetnt i did work out all the styling issues , but still havent done the seperation of tests for both cases of preference , not able to find the correct way to set and and reset the preference for testing both cases of preference values

I think the best way is just to set the preference to true when starting, then creating test should change the preference which flips the switch and then do the another set of tests below should NOT indent when foo is set to false and so on.

@petetnt - i separated the test cases with one set making it run with preference set to true and other making it run on preference set to false

@petetnt - is there anything else needed on this , just needed an update :)

Sorry @borax12, I have been swamped with work so I haven't had the time to review the latest commit. I'll do it tomorrow morning if that is okay with you :+1:

no worries there @petetnt - appreciate the update .And regarding the work . I hope it turns out the best for you :)

@petetnt - updates? :)

@borax12 Sorry for taking so long :snail:
I made some more comments, mostly just style nitpicks but there was a single test that wasn't changed to split format later in the file too.

@petetnt - i made the final changes , split the two tests and tried to address the top mentioned style nits , hopefully this should do it :)

@petetnt - hey man , i must be bugging you , but i did split the changes, i guess that should do it

LGTM /cc @abose

Thanks @borax12 @petetnt  .Will check this out over the weekend .

LGTM. Verified all the test cases hilighted.
Thanks very much for this change @borax12
Merging. :fireworks:

cool @abose - looking forward to contributing more :)

@borax12  If you are interested in contributing to new features in brackets, please take a look at our trello board to see features requested by the community.
If you are interested in fixing something, Many unit tests are failing, which needs to be fixed :sweat_smile:


The "maxLength" property of the textfield widget is not working

Steps to Reproduce

Run flutter create bug.
Add the following widget to your widget trees

TextField(
  maxLength: 10,
  maxLengthEnforced: true,
  keyboardType: TextInputType.number,
)

The problem occurs only on the Android emulator, so run your project on some Android.

Expected results:
The expected is that the textfield would limit the "value" which is exposed in attributes such as "onChanged" to be at most the defined size, which was 10, however it allows up to size 11.
Actual results:

Logs

flutter run --verbose
[  +16 ms] executing: [/home/pedro/development/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +42 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 8af6b2f038c1172e61d418869363a28dffec3cb4
[        ] executing: [/home/pedro/development/flutter/] git tag --contains HEAD
[ +172 ms] Exit code 0 from: git tag --contains HEAD
[   +1 ms] 1.17.5
[   +9 ms] executing: [/home/pedro/development/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +11 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [/home/pedro/development/flutter/] git ls-remote --get-url origin
[   +8 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +90 ms] executing: [/home/pedro/development/flutter/] git rev-parse --abbrev-ref HEAD
[  +10 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[  +26 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +22 ms] executing: /home/pedro/Android/Sdk/platform-tools/adb devices -l
[  +65 ms] List of devices attached
<PHONE_NUMBER>             device usb:1-1 product:aljeter model:moto_g_6__play device:aljeter transport_id:1
[  +12 ms] /home/pedro/Android/Sdk/platform-tools/adb -s<PHONE_NUMBER> shell getprop
[ +161 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[   +7 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +288 ms] Generating
/home/pedro/Documentos/projetos/test_packages_field/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant
.java
[  +43 ms] ro.hardware = qcom
[  +69 ms] Launching lib/main.dart on moto g 6 play in debug mode...
[   +7 ms] /home/pedro/development/flutter/bin/cache/dart-sdk/bin/dart
/home/pedro/development/flutter/bin/cache/artifacts/engine/linux-x64/frontend_server.dart.snapshot --sdk-root
/home/pedro/development/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --incremental --target=flutter
--debugger-module-names -Ddart.developer.causal_async_stacks=true --output-dill /tmp/flutter_tool.PEIFNG/app.dill
--packages /home/pedro/Documentos/projetos/test_packages_field/.packages -Ddart.vm.profile=false -Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-
closure-call-instructions --enable-asserts --track-widget-creation --filesystem-scheme org-dartlang-root
[  +21 ms] executing: /home/pedro/Android/Sdk/build-tools/29.0.3/aapt dump xmltree
/home/pedro/Documentos/projetos/test_packages_field/build/app/outputs/apk/app.apk AndroidManifest.xml
[   +6 ms] Exit code 0 from: /home/pedro/Android/Sdk/build-tools/29.0.3/aapt dump xmltree
/home/pedro/Documentos/projetos/test_packages_field/build/app/outputs/apk/app.apk AndroidManifest.xml
[   +1 ms] N: android=http://schemas.android.com/apk/res/android
             E: manifest (line=2)
               A: android:versionCode(0x0101021b)=(type 0x10)0x1
               A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
               A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1c
               A: android:compileSdkVersionCodename(0x01010573)="9" (Raw: "9")
               A: package="com.example.test_packages_field" (Raw: "com.example.test_packages_field")
               A: platformBuildVersionCode=(type 0x10)0x1c
               A: platformBuildVersionName=(type 0x10)0x9
               E: uses-sdk (line=7)
                 A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
                 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1c
               E: uses-permission (line=14)
                 A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
               E: application (line=22)
                 A: android:label(0x01010001)="test_packages_field" (Raw: "test_packages_field")
                 A: android:icon(0x01010002)=@0x7f080000
                 A: android:name(0x01010003)="io.flutter.app.FlutterApplication" (Raw:
                 "io.flutter.app.FlutterApplication")
                 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
                 A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw:
                 "androidx.core.app.CoreComponentFactory")
                 E: activity (line=28)
                   A: android:theme(0x01010000)=@0x7f0a0000
                   A: android:name(0x01010003)="com.example.test_packages_field.MainActivity" (Raw:
                   "com.example.test_packages_field.MainActivity")
                   A: android:launchMode(0x0101001d)=(type 0x10)0x1
                   A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
                   A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                   A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                   E: meta-data (line=42)
                     A: android:name(0x01010003)="io.flutter.embedding.android.NormalTheme" (Raw:
                     "io.flutter.embedding.android.NormalTheme")
                     A: android:resource(0x01010025)=@0x7f0a0001
                   E: meta-data (line=52)
                     A: android:name(0x01010003)="io.flutter.embedding.android.SplashScreenDrawable" (Raw:
                     "io.flutter.embedding.android.SplashScreenDrawable")
                     A: android:resource(0x01010025)=@0x7f040000
                   E: intent-filter (line=56)
                     E: action (line=57)
                       A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                     E: category (line=59)
                       A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw:
                       "android.intent.category.LAUNCHER")
                 E: meta-data (line=66)
                   A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                   A: android:value(0x01010024)=(type 0x10)0x2
[  +15 ms] executing: /home/pedro/Android/Sdk/platform-tools/adb -s<PHONE_NUMBER> shell -x logcat -v time -t 1
[  +79 ms] Exit code 0 from: /home/pedro/Android/Sdk/platform-tools/adb -s<PHONE_NUMBER> shell -x logcat -v time -t 1
[        ] --------- beginning of system
           07-17 22:28:37.119 I/SFPerfTracer(  585):      triggers: (rate: 0:280) (698471 sw vsyncs) (0 skipped)
           (0:39354205 vsyncs) (1:42547784)
[  +36 ms] <- compile package:test_packages_field/main.dart
[  +31 ms] executing: /home/pedro/Android/Sdk/platform-tools/adb version
[  +62 ms] Android Debug Bridge version 1.0.41
           Version 30.0.1-6435776
           Installed as /home/pedro/Android/Sdk/platform-tools/adb
[   +2 ms] executing: /home/pedro/Android/Sdk/platform-tools/adb start-server
[  +12 ms] Building APK
[  +35 ms] Running Gradle task 'assembleDebug'...
[   +2 ms] gradle.properties already sets `android.enableR8`
[   +3 ms] Using gradle from /home/pedro/Documentos/projetos/test_packages_field/android/gradlew.
[   +1 ms] /home/pedro/Documentos/projetos/test_packages_field/android/gradlew mode: 33277 rwxrwxr-x.
[  +33 ms] executing: /snap/android-studio/88/android-studio/jre/bin/java -version
[  +97 ms] Exit code 0 from: /snap/android-studio/88/android-studio/jre/bin/java -version
[        ] openjdk version "1.8.0_212-release"
           OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
           OpenJDK 64-Bit Server VM (build 25.212-b4-5784211, mixed mode)
[   +4 ms] executing: [/home/pedro/Documentos/projetos/test_packages_field/android/]
/home/pedro/Documentos/projetos/test_packages_field/android/gradlew -Pverbose=true -Ptarget-platform=android-arm
-Ptarget=/home/pedro/Documentos/projetos/test_packages_field/lib/main.dart -Ptrack-widget-creation=true
-Pfilesystem-scheme=org-dartlang-root assembleDebug
[+3665 ms] > Task :app:compileFlutterBuildDebug
[   +1 ms] [  +21 ms] executing: [/home/pedro/development/flutter/] git -c log.showSignature=false log -n 1
--pretty=format:%H
[   +1 ms] [  +41 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [        ] 8af6b2f038c1172e61d418869363a28dffec3cb4
[        ] [   +1 ms] executing: [/home/pedro/development/flutter/] git tag --contains HEAD
[        ] [ +245 ms] Exit code 0 from: git tag --contains HEAD
[  +13 ms] [        ] 1.17.5
[        ] [   +9 ms] executing: [/home/pedro/development/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[        ] [   +7 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] [        ] origin/stable
[        ] [        ] executing: [/home/pedro/development/flutter/] git ls-remote --get-url origin
[        ] [   +7 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] [        ] https://github.com/flutter/flutter.git
[        ] [  +71 ms] executing: [/home/pedro/development/flutter/] git rev-parse --abbrev-ref HEAD
[        ] [   +6 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] [        ] stable
[        ] [  +19 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[  +15 ms] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +5 ms] [   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [   +9 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[   +2 ms] [        ] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +6 ms] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +8 ms] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[   +4 ms] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] [ +122 ms] Initializing file store
[        ] [  +24 ms] kernel_snapshot: Starting due to {}
[   +1 ms] [  +19 ms] /home/pedro/development/flutter/bin/cache/dart-sdk/bin/dart
/home/pedro/development/flutter/bin/cache/artifacts/engine/linux-x64/frontend_server.dart.snapshot --sdk-root
/home/pedro/development/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --target=flutter
-Ddart.developer.causal_async_stacks=true -Ddart.vm.profile=false -Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-
closure-call-instructions --enable-asserts --track-widget-creation --no-link-platform --packages
/home/pedro/Documentos/projetos/test_packages_field/.packages --output-dill
/home/pedro/Documentos/projetos/test_packages_field/.dart_tool/flutter_build/0c12a809cfaa700b4d0c83ec5e250cd6/app.dill
--depfile
/home/pedro/Documentos/projetos/test_packages_field/.dart_tool/flutter_build/0c12a809cfaa700b4d0c83ec5e250cd6/kernel_snaps
hot.d package:test_packages_field/main.dart
[+6878 ms] [+7946 ms] kernel_snapshot: Complete
[+1399 ms] [+1410 ms] debug_android_application: Starting due to {}
[ +300 ms] [ +282 ms] debug_android_application: Complete
[ +499 ms] [ +451 ms] Persisting file store
[        ] [   +8 ms] Done persisting file store
[        ] [   +4 ms] build succeeded.
[        ] [   +8 ms] "flutter assemble" took 10.330ms.
[  +99 ms] > Task :app:packLibsflutterBuildDebug UP-TO-DATE
[        ] > Task :app:preBuild UP-TO-DATE
[        ] > Task :app:preDebugBuild UP-TO-DATE
[   +3 ms] > Task :app:compileDebugAidl NO-SOURCE
[        ] > Task :app:checkDebugManifest UP-TO-DATE
[        ] > Task :app:generateDebugBuildConfig UP-TO-DATE
[        ] > Task :app:compileDebugRenderscript NO-SOURCE
[  +94 ms] > Task :app:cleanMergeDebugAssets
[        ] > Task :app:mergeDebugShaders UP-TO-DATE
[        ] > Task :app:compileDebugShaders UP-TO-DATE
[        ] > Task :app:generateDebugAssets UP-TO-DATE
[        ] > Task :app:mainApkListPersistenceDebug UP-TO-DATE
[        ] > Task :app:mergeDebugAssets
[  +98 ms] > Task :app:copyFlutterAssetsDebug
[        ] > Task :app:generateDebugResValues UP-TO-DATE
[        ] > Task :app:generateDebugResources UP-TO-DATE
[ +100 ms] > Task :app:mergeDebugResources UP-TO-DATE
[        ] > Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
[        ] > Task :app:processDebugManifest UP-TO-DATE
[        ] > Task :app:processDebugResources UP-TO-DATE
[        ] > Task :app:compileDebugKotlin UP-TO-DATE
[        ] > Task :app:javaPreCompileDebug UP-TO-DATE
[        ] > Task :app:compileDebugJavaWithJavac UP-TO-DATE
[        ] > Task :app:compileDebugSources UP-TO-DATE
[        ] > Task :app:processDebugJavaRes NO-SOURCE
[        ] > Task :app:mergeDebugJavaResource UP-TO-DATE
[        ] > Task :app:checkDebugDuplicateClasses UP-TO-DATE
[  +99 ms] > Task :app:transformClassesWithDexBuilderForDebug UP-TO-DATE
[        ] > Task :app:desugarDebugFileDependencies UP-TO-DATE
[        ] > Task :app:validateSigningDebug UP-TO-DATE
[        ] > Task :app:signingConfigWriterDebug UP-TO-DATE
[        ] > Task :app:mergeExtDexDebug UP-TO-DATE
[        ] > Task :app:mergeDexDebug UP-TO-DATE
[        ] > Task :app:mergeDebugJniLibFolders UP-TO-DATE
[        ] > Task :app:mergeDebugNativeLibs UP-TO-DATE
[  +95 ms] > Task :app:stripDebugDebugSymbols UP-TO-DATE
[        ] Compatible side by side NDK version was not found.
[+1099 ms] > Task :app:packageDebug
[ +100 ms] > Task :app:assembleDebug
[        ] BUILD SUCCESSFUL in 14s
[        ] 31 actionable tasks: 6 executed, 25 up-to-date
[ +367 ms] Running Gradle task 'assembleDebug'... (completed in 15,1s)
[  +61 ms] calculateSha: LocalDirectory:
'/home/pedro/Documentos/projetos/test_packages_field/build/app/outputs/apk'/app.apk
[  +60 ms] calculateSha: reading file took 59us
[ +603 ms] calculateSha: computing sha took 602us
[   +5 ms] ✓ Built build/app/outputs/apk/debug/app-debug.apk.
[   +4 ms] executing: /home/pedro/Android/Sdk/build-tools/29.0.3/aapt dump xmltree
/home/pedro/Documentos/projetos/test_packages_field/build/app/outputs/apk/app.apk AndroidManifest.xml
[   +7 ms] Exit code 0 from: /home/pedro/Android/Sdk/build-tools/29.0.3/aapt dump xmltree
/home/pedro/Documentos/projetos/test_packages_field/build/app/outputs/apk/app.apk AndroidManifest.xml
[        ] N: android=http://schemas.android.com/apk/res/android
             E: manifest (line=2)
               A: android:versionCode(0x0101021b)=(type 0x10)0x1
               A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
               A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1c
               A: android:compileSdkVersionCodename(0x01010573)="9" (Raw: "9")
               A: package="com.example.test_packages_field" (Raw: "com.example.test_packages_field")
               A: platformBuildVersionCode=(type 0x10)0x1c
               A: platformBuildVersionName=(type 0x10)0x9
               E: uses-sdk (line=7)
                 A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
                 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1c
               E: uses-permission (line=14)
                 A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
               E: application (line=22)
                 A: android:label(0x01010001)="test_packages_field" (Raw: "test_packages_field")
                 A: android:icon(0x01010002)=@0x7f080000
                 A: android:name(0x01010003)="io.flutter.app.FlutterApplication" (Raw:
                 "io.flutter.app.FlutterApplication")
                 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
                 A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw:
                 "androidx.core.app.CoreComponentFactory")
                 E: activity (line=28)
                   A: android:theme(0x01010000)=@0x7f0a0000
                   A: android:name(0x01010003)="com.example.test_packages_field.MainActivity" (Raw:
                   "com.example.test_packages_field.MainActivity")
                   A: android:launchMode(0x0101001d)=(type 0x10)0x1
                   A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
                   A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                   A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                   E: meta-data (line=42)
                     A: android:name(0x01010003)="io.flutter.embedding.android.NormalTheme" (Raw:
                     "io.flutter.embedding.android.NormalTheme")
                     A: android:resource(0x01010025)=@0x7f0a0001
                   E: meta-data (line=52)
                     A: android:name(0x01010003)="io.flutter.embedding.android.SplashScreenDrawable" (Raw:
                     "io.flutter.embedding.android.SplashScreenDrawable")
                     A: android:resource(0x01010025)=@0x7f040000
                   E: intent-filter (line=56)
                     E: action (line=57)
                       A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                     E: category (line=59)
                       A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw:
                       "android.intent.category.LAUNCHER")
                 E: meta-data (line=66)
                   A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                   A: android:value(0x01010024)=(type 0x10)0x2
[   +4 ms] Stopping app 'app.apk' on moto g 6 play.
[        ] executing: /home/pedro/Android/Sdk/platform-tools/adb -s<PHONE_NUMBER> shell am force-stop
com.example.test_packages_field
[ +110 ms] executing: /home/pedro/Android/Sdk/platform-tools/adb -s<PHONE_NUMBER> shell pm list packages
com.example.test_packages_field
[+1564 ms] package:com.example.test_packages_field
[   +5 ms] executing: /home/pedro/Android/Sdk/platform-tools/adb -s<PHONE_NUMBER> shell cat
/data/local/tmp/sky.com.example.test_packages_field.sha1
[  +62 ms] 4efb509b87ffe4bfcee7ac5fb2fe257bb5447847
[        ] Installing APK.
[   +2 ms] executing: /home/pedro/Android/Sdk/platform-tools/adb version
[  +15 ms] Android Debug Bridge version 1.0.41
           Version 30.0.1-6435776
           Installed as /home/pedro/Android/Sdk/platform-tools/adb
[   +1 ms] executing: /home/pedro/Android/Sdk/platform-tools/adb start-server
[  +15 ms] Installing build/app/outputs/apk/app.apk...
[        ] executing: /home/pedro/Android/Sdk/platform-tools/adb -s<PHONE_NUMBER> install -t -r
/home/pedro/Documentos/projetos/test_packages_field/build/app/outputs/apk/app.apk
[+18759 ms] Performing Streamed Install
                     Success
[        ] Installing build/app/outputs/apk/app.apk... (completed in 18,8s)
[   +3 ms] executing: /home/pedro/Android/Sdk/platform-tools/adb -s<PHONE_NUMBER> shell echo -n
3125f20382a9963af22ae83badc3f6595f6d29be > /data/local/tmp/sky.com.example.test_packages_field.sha1
[  +39 ms] moto g 6 play startApp
[   +1 ms] executing: /home/pedro/Android/Sdk/platform-tools/adb -s<PHONE_NUMBER> shell am start -a android.intent.action.RUN
-f 0x20000000 --ez enable-background-compilation true --ez enable-dart-profiling true --ez enable-checked-mode true --ez
verify-entry-points true com.example.test_packages_field/com.example.test_packages_field.MainActivity
[ +306 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000
cmp=com.example.test_packages_field/.MainActivity (has extras) }
[   +4 ms] Waiting for observatory port to be available...
[+2338 ms] Observatory URL on device: http://<IP_ADDRESS>:47225/YLNWtInYJAk=/
[   +3 ms] executing: /home/pedro/Android/Sdk/platform-tools/adb -s<PHONE_NUMBER> forward tcp:0 tcp:47225
[  +12 ms] 41295
[        ] Forwarded host port 41295 to device port 47225 for Observatory
[  +13 ms] Connecting to service protocol: http://<IP_ADDRESS>:41295/YLNWtInYJAk=/
[ +600 ms] Successfully connected to service protocol: http://<IP_ADDRESS>:41295/YLNWtInYJAk=/
[   +5 ms] Sending to VM service: getVM({})
[  +19 ms] Result: {type: VM, name: vm, architectureBits: 32, hostCPU: Qualcomm Technologies, Inc MSM8937,
operatingSystem: android, targetCPU: arm, version: 2.8.4 (stable) (Wed Jun 3 12:26:04 2020 +0200) on "android_arm",
_profilerMode: VM, _nativeZoneMemoryUsage: ...
[   +7 ms] Sending to VM service: getIsolate({isolateId: isolates/2740213396678175})
[   +5 ms] Sending to VM service: _flutter.listViews({})
[  +59 ms] Result: {type: FlutterViewList, views: [{type: FlutterView, id: _flutterView/0xa474d390, isolate: {type:
@Isolate, fixedId: true, id: isolates/2740213396678175, name: main.dart$main-2740213396678175, number:
2740213396678175}}]}
[   +6 ms] DevFS: Creating new filesystem on the device (null)
[        ] Sending to VM service: _createDevFS({fsName: test_packages_field})
[ +159 ms] Result: {type: Isolate, id: isolates/2740213396678175, name: main, number:<PHONE_NUMBER>678175, _originNumber:
2740213396678175, startTime:<PHONE_NUMBER>425, _heaps: {new: {type: HeapSpace, name: new, vmName: Scavenger, collections: 1,
avgCollectionPeriodMillis...
[  +40 ms] Result: {type: FileSystem, name: test_packages_field, uri:
file:///data/user/0/com.example.test_packages_field/code_cache/test_packages_fieldNOILKK/test_packages_field/}
[   +1 ms] DevFS: Created new filesystem on the device
(file:///data/user/0/com.example.test_packages_field/code_cache/test_packages_fieldNOILKK/test_packages_field/)
[   +2 ms] Updating assets
[  +82 ms] Syncing files to device moto g 6 play...
[   +1 ms] Scanning asset files
[   +2 ms] <- reset
[        ] Compiling dart to kernel with 0 updated files
[   +1 ms] <- recompile package:test_packages_field/main.dart 661c5448-944d-4a27-800e-97cf6afca40f
[        ] <- 661c5448-944d-4a27-800e-97cf6afca40f
[ +298 ms] Updating files
[+1931 ms] DevFS: Sync finished
[   +3 ms] Syncing files to device moto g 6 play... (completed in 2.237ms, longer than expected)
[   +1 ms] Synced 0.9MB.
[   +3 ms] Sending to VM service: _flutter.listViews({})
[   +9 ms] Result: {type: FlutterViewList, views: [{type: FlutterView, id: _flutterView/0xa474d390, isolate: {type:
@Isolate, fixedId: true, id: isolates/2740213396678175, name: main.dart$main-2740213396678175, number:
2740213396678175}}]}
[   +3 ms] <- accept
[   +1 ms] Connected to _flutterView/0xa474d390.
[   +4 ms] Flutter run key commands.
[   +5 ms] r Hot reload. 🔥🔥🔥
[   +3 ms] R Hot restart.
[        ] h Repeat this help message.
[        ] d Detach (terminate "flutter run" but leave application running).
[   +1 ms] c Clear the screen
[   +1 ms] q Quit (terminate the application on the device).
[        ] An Observatory debugger and profiler on moto g 6 play is available at: http://<IP_ADDRESS>:41295/YLNWtInYJAk=/
[+39910 ms] W/FlutterEngine(22893): Tried to automatically register plugins with FlutterEngine
(io.flutter.embedding.engine.FlutterEngine@d89d03b) but could not find and invoke the GeneratedPluginRegistrant.
[+55883 ms] I/zygote  (22388): Do partial code cache collection, code=26KB, data=30KB
[        ] I/zygote  (22388): After code cache collection, code=26KB, data=30KB
[        ] I/zygote  (22388): Increasing code cache capacity to 128KB
[+1485 ms] I/zygote  (22388): Do partial code cache collection, code=59KB, data=61KB
[        ] I/zygote  (22388): After code cache collection, code=59KB, data=61KB
[        ] I/zygote  (22388): Increasing code cache capacity to 256KB
[+31725 ms] Ignoring terminal input: "�" because we are busy.
[        ] Ignoring terminal input: "�" because we are busy.
[        ] Ignoring terminal input: "�" because we are busy.
[        ] Ignoring terminal input: "�" because we are busy.
[        ] Ignoring terminal input: "�" because we are busy.
[        ] Ignoring terminal input: "�" because we are busy.
[        ] Ignoring terminal input: "�" because we are busy.
[        ] Ignoring terminal input: "�" because we are busy.
[        ] Ignoring terminal input: "�" because we are busy.
[        ] Ignoring terminal input: "�" because we are busy.
[        ] Ignoring terminal input: "�" because we are busy.
[        ] Ignoring terminal input: "�" because we are busy.
[        ] Ignoring terminal input: "[   +3 ms] R Hot restart.
           [        ] h Repeat this help message.
           [        ] d Detach (terminate "flutter run" but leave application running).
           [   +1 ms] c Clear the screen
           [   +1 ms] q Quit (terminate the application on the device).
           [        ] An Observatory debugger and profiler on moto g 6 play is available at:
           http://<IP_ADDRESS>:41295/YLNWtInYJAk=/
           [+39910 ms] W/FlutterEngine(22893): Tried to automatically register plugins with FlutterEngine
           (io.flutter.embedding.engine.FlutterEngine@d89d03b) but could not find and invoke the
           GeneratedPluginRegistrant.
           [+55883 ms] I/zygote  (22388): Do partial code cache collection, code=26KB, data=30KB
           [        ] I/zygote  (22388): After code cache collection, code=26KB, data=30KB
           [        ] I/zygote  (22388): Increasing code cache capacity to 128KB
           [+1485 ms] I/zygote  (22388): Do partial code cache collection, code=59KB, data=61KB
           [        ] I/zygote  (22388): After code cache collection, code=59KB, data=61KB
           [        ] I/zygote  (22388): Increasing code cache capacity to 256KB" because we are busy.

flutter analyze
Analyzing test_packages_field...
No issues found! (ran in 2.3s)

flutter doctor -v
[✓] Flutter (Channel stable, v1.17.5, on Linux, locale pt_BR.UTF-8)
    • Flutter version 1.17.5 at /home/pedro/development/flutter
    • Framework revision 8af6b2f038 (2 weeks ago), 2020-06-30 12:53:55 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /home/pedro/Android/Sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /home/pedro/Android/Sdk
    • Java binary at: /snap/android-studio/88/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Android Studio (version 3.6)
    • Android Studio at /snap/android-studio/88/android-studio
    • Flutter plugin version 45.1.1
    • Dart plugin version 192.8052
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[✓] VS Code (version 1.46.1)
    • VS Code at /usr/share/code
    • Flutter extension version 3.12.2

[✓] Connected device (1 available)
    • moto g 6 play •<PHONE_NUMBER> • android-arm • Android 8.0.0 (API 26)

• No issues found!

@pedrohsampaioo So under the hood the TextField uses a LengthLimitingTextInputFormatter to prevent the number of characters to go any higher then what u set on maxLength. The "problem" you are seeing here happens because the inputFormatters gets called before onChanged so when you are updating the state of your text widgets onChanged the formatted would not be enforced. The correct way to check the actual data on a input field would be to add a listener to a TextEditingController attached to such field, I've re-written your code and with the setState calls being done on the listener this issue no longer occurs.
 TextEditingController _controller;
  void initState() {
    super.initState();
    _controller = TextEditingController();
    _controller.addListener(() {
      setState(() {
        _input = _controller.text;
        length = _controller.text.length;
      });
    });
  }

And here's the outcome:

@Yodart I am aware of your information, the big problem with me was when using the validation recommended by the documentation: https://flutter.dev/docs/cookbook/forms/validation. Because the property "value" in the validator method emits illegal states and keeps them, but does not show it to the user. But unfortunately, I was forced to use controllers and modify the recommended validation process, which I believe should not happen.

Hi @pedrohsampaioo
testing the code sample below
sample
import 'package:flutter/material.dart';

void main() =>
  runApp(MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key key}) : super(key: key);
  static const  Widget _home =  MyHomePage(key: Key('home'));

  @override
  Widget build(BuildContext context) => MaterialApp(
    home: _home,
  );
}

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

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  TextEditingController _controller;

  @override
  void initState() {
    super.initState();
    _controller = TextEditingController();
  }

  @override
  void dispose() {
    _controller?.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) => Material(
    child: Center(
      child: TextField(
        controller: _controller,
        maxLength: 5,
        onChanged: (String data) => debugPrint(data),
      ),
    ),
  );
}

with the latest stable onChange passes more then 5 characters
logs
[ +192 ms] Syncing files to device Pixel 3a...
[   +2 ms] Scanning asset files
[   +3 ms] <- reset
[        ] Compiling dart to kernel with 0 updated files
[   +2 ms] <- recompile package:stable/main.dart d04a93dc-1c8f-4f66-ab84-9566340d43f2
[        ] <- d04a93dc-1c8f-4f66-ab84-9566340d43f2
[ +171 ms] Updating files
[ +173 ms] DevFS: Sync finished
[   +3 ms] Syncing files to device Pixel 3a... (completed in 353ms)
[   +1 ms] Synced 0.9MB.
[   +2 ms] Sending to VM service: _flutter.listViews({})
[   +7 ms] Result: {type: FlutterViewList, views: [{type: FlutterView, id: _flutterView/0x716dfd2620, isolate: {type: @Isolate, fixedId: true, id: isolates/3781796367872219,
name: main.dart$main-3781796367872219, number:<PHONE_NUMBER>872219}}]}
[   +1 ms] <- accept
[        ] Connected to _flutterView/0x716dfd2620.
[   +2 ms] Flutter run key commands.
[   +3 ms] r Hot reload. 🔥🔥🔥
[   +2 ms] R Hot restart.
[   +3 ms] h Repeat this help message.
[   +1 ms] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
[        ] An Observatory debugger and profiler on Pixel 3a is available at: http://<IP_ADDRESS>:53505/IR6rWSYdwfg=/
[+1966 ms] W/IInputConnectionWrapper( 7822): getExtractedText on inactive InputConnection
[        ] W/IInputConnectionWrapper( 7822): getTextBeforeCursor on inactive InputConnection
[  +23 ms] W/IInputConnectionWrapper( 7822): getExtractedText on inactive InputConnection
[   +2 ms] W/IInputConnectionWrapper( 7822): getTextBeforeCursor on inactive InputConnection
[  +23 ms] W/IInputConnectionWrapper( 7822): getExtractedText on inactive InputConnection
[   +1 ms] W/IInputConnectionWrapper( 7822): getTextBeforeCursor on inactive InputConnection
[  +10 ms] E/SpannableStringBuilder( 7822): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
[  +28 ms] I/chatty  ( 7822): uid=10223(com.example.stable) identical 2 lines
[        ] E/SpannableStringBuilder( 7822): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
[+1110 ms] I/flutter ( 7822): b
[ +167 ms] I/flutter ( 7822): bb
[ +155 ms] I/flutter ( 7822): bbb
[ +157 ms] I/flutter ( 7822): bbbh
[ +182 ms] I/flutter ( 7822): bbbhb
[ +156 ms] I/flutter ( 7822): bbbhb
[   +1 ms] I/flutter ( 7822): bbbhbb
[ +165 ms] I/flutter ( 7822): bbbhb
[   +5 ms] I/flutter ( 7822): bbbhbb
[ +166 ms] I/flutter ( 7822): bbbhb
[ +334 ms] I/chatty  ( 7822): uid=10223(com.example.stable) 1.ui identical 1 line
[   +1 ms] I/flutter ( 7822): bbbhb
[        ] I/flutter ( 7822): bbbhbb
[ +141 ms] I/flutter ( 7822): bbbhb
[   +6 ms] I/flutter ( 7822): bbbhbb
[ +163 ms] I/flutter ( 7822): bbbhb
[   +5 ms] I/flutter ( 7822): bbbhbh
[ +165 ms] I/flutter ( 7822): bbbhb
[   +8 ms] I/flutter ( 7822): bbbhbb
[ +168 ms] I/flutter ( 7822): bbbhb
[  +10 ms] I/flutter ( 7822): bbbhbh
[ +145 ms] I/flutter ( 7822): bbbhb
[   +5 ms] I/flutter ( 7822): bbbhbh
[ +158 ms] I/flutter ( 7822): bbbhb
[  +11 ms] I/flutter ( 7822): bbbhbh
[ +151 ms] I/flutter ( 7822): bbbhb
[   +6 ms] I/flutter ( 7822): bbbhbh
[ +166 ms] I/flutter ( 7822): bbbhb
[   +1 ms] I/flutter ( 7822): bbbhbb
[ +164 ms] I/flutter ( 7822): bbbhb
[   +5 ms] I/flutter ( 7822): bbbhbb
[+3081 ms] I/flutter ( 7822): bbbhb
[ +678 ms] I/flutter ( 7822): bbbhb
[        ] I/flutter ( 7822): bbbhbp
[ +440 ms] I/flutter ( 7822): bbbhb
[   +9 ms] I/flutter ( 7822): bbbhbp
[+3078 ms] I/flutter ( 7822): bbbhb
[   +5 ms] I/flutter ( 7822): bbbhbp
[+3029 ms] I/flutter ( 7822): bbbhb
[   +8 ms] I/flutter ( 7822): bbbhbp
[ +761 ms] I/flutter ( 7822): bbbhb
[   +6 ms] I/flutter ( 7822): bbbhbp
[ +590 ms] I/flutter ( 7822): bbbhb
[+1354 ms] I/flutter ( 7822): bbbhb
[        ] I/flutter ( 7822): bbbhbp
[+2698 ms] I/flutter ( 7822): bbbhb
[   +3 ms] I/flutter ( 7822): bbbhbh
[ +315 ms] I/flutter ( 7822): bbbhb
[   +2 ms] I/flutter ( 7822): bbbhbh
[ +232 ms] I/flutter ( 7822): bbbhb
[   +6 ms] I/flutter ( 7822): bbbhbh
[ +241 ms] I/flutter ( 7822): bbbhb
[   +2 ms] I/flutter ( 7822): bbbhbh
[ +204 ms] I/flutter ( 7822): bbbhb
[   +3 ms] I/flutter ( 7822): bbbhbh
[ +190 ms] I/flutter ( 7822): bbbhb
[  +12 ms] I/flutter ( 7822): bbbhbh
[ +219 ms] I/flutter ( 7822): bbbhb
[   +9 ms] I/flutter ( 7822): bbbhbh
[ +238 ms] I/flutter ( 7822): bbbhb
[   +5 ms] I/flutter ( 7822): bbbhbh
[ +251 ms] I/flutter ( 7822): bbbhb
[   +5 ms] I/flutter ( 7822): bbbhbf
[ +205 ms] I/flutter ( 7822): bbbhb
[ +219 ms] I/flutter ( 7822): bbbhb
[        ] I/flutter ( 7822): bbbhbf
[ +199 ms] I/flutter ( 7822): bbbhb
[ +246 ms] I/flutter ( 7822): bbbhb
[        ] I/flutter ( 7822): bbbhbf

doctor
[✓] Flutter (Channel stable, v1.17.5, on Mac OS X 10.15.5 19F101, locale en-GB)
    • Flutter version 1.17.5 at /Users/nevercode/development/flutter
    • Framework revision 8af6b2f038 (3 weeks ago), 2020-06-30 12:53:55 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/nevercode/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.0

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.2

[✓] Connected device (1 available)
    • Pixel 3a • 965AY0WP5C • android-arm64 • Android 10 (API 29)

• No issues found!

this behaviour does not with the latest master
logs
[  +10 ms] Installing build/app/outputs/flutter-apk/app.apk...
[   +1 ms] executing: /Users/nevercode/Library/Android/sdk/platform-tools/adb -s 965AY0WP5C install -t -r
/Users/nevercode/Desktop/projects/master/build/app/outputs/flutter-apk/app.apk
[+5313 ms] Performing Streamed Install
                    Success
[   +1 ms] Installing build/app/outputs/flutter-apk/app.apk... (completed in 5.3s)
[   +4 ms] executing: /Users/nevercode/Library/Android/sdk/platform-tools/adb -s 965AY0WP5C shell echo -n dc2beb4573cb0bf69b34e971dac97c3d8c8c4b68 >
/data/local/tmp/sky.com.example.master.sha1
[  +49 ms] Pixel 3a startApp
[   +4 ms] executing: /Users/nevercode/Library/Android/sdk/platform-tools/adb -s 965AY0WP5C shell am start -a android.intent.action.RUN -f 0x20000000 --ez
enable-background-compilation true --ez enable-dart-profiling true --ez enable-checked-mode true --ez verify-entry-points true com.example.master/com.example.master.MainActivity
[  +98 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000 cmp=com.example.master/.MainActivity (has extras) }
[        ] Waiting for observatory port to be available...
[+1131 ms] Observatory URL on device: http://<IP_ADDRESS>:37749/gpYO0GTOhOg=/
[   +4 ms] executing: /Users/nevercode/Library/Android/sdk/platform-tools/adb -s 965AY0WP5C forward tcp:0 tcp:37749
[  +11 ms] 53972
[        ] Forwarded host port 53972 to device port 37749 for Observatory
[  +11 ms] Caching compiled dill
[ +116 ms] Connecting to service protocol: http://<IP_ADDRESS>:53972/gpYO0GTOhOg=/
[ +410 ms] Successfully connected to service protocol: http://<IP_ADDRESS>:53972/gpYO0GTOhOg=/
[        ] Waiting for Pixel 3a to report its views...
[  +12 ms] Waiting for Pixel 3a to report its views... (completed in 10ms)
[  +17 ms] DevFS: Creating new filesystem on the device (null)
[  +37 ms] DevFS: Created new filesystem on the device (file:///data/user/0/com.example.master/code_cache/masterJUGLUF/master/)
[   +3 ms] Updating assets
[ +179 ms] Syncing files to device Pixel 3a...
[   +3 ms] Scanning asset files
[   +3 ms] <- reset
[        ] Compiling dart to kernel with 0 updated files
[   +1 ms] <- recompile package:master/main.dart 4f8420c1-089a-4d5d-a663-c6307f7bc772
[        ] <- 4f8420c1-089a-4d5d-a663-c6307f7bc772
[ +156 ms] Updating files
[ +189 ms] DevFS: Sync finished
[        ] Syncing files to device Pixel 3a... (completed in 353ms)
[   +1 ms] Synced 0.9MB.
[   +1 ms] <- accept
[   +4 ms] Connected to _flutterView/0x7081fb6820.
[   +1 ms] Flutter run key commands.
[   +2 ms] r Hot reload. 🔥🔥🔥
[   +1 ms] R Hot restart.
[        ] h Repeat this help message.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
[        ] An Observatory debugger and profiler on Pixel 3a is available at: http://<IP_ADDRESS>:53972/gpYO0GTOhOg=/
[+2197 ms] W/IInputConnectionWrapper( 8269): getExtractedText on inactive InputConnection
[        ] W/IInputConnectionWrapper( 8269): getTextBeforeCursor on inactive InputConnection
[   +6 ms] W/IInputConnectionWrapper( 8269): getExtractedText on inactive InputConnection
[   +4 ms] W/IInputConnectionWrapper( 8269): getTextBeforeCursor on inactive InputConnection
[   +8 ms] W/IInputConnectionWrapper( 8269): getExtractedText on inactive InputConnection
[        ] W/IInputConnectionWrapper( 8269): getTextBeforeCursor on inactive InputConnection
[   +3 ms] E/SpannableStringBuilder( 8269): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
[ +964 ms] I/chatty  ( 8269): uid=10227(com.example.master) identical 2 lines
[        ] E/SpannableStringBuilder( 8269): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
[        ] I/flutter ( 8269): b
[ +143 ms] I/flutter ( 8269): bv
[ +153 ms] I/flutter ( 8269): bvv
[ +176 ms] I/flutter ( 8269): bvvv
[ +145 ms] I/flutter ( 8269): bvvvv
[+3482 ms] I/chatty  ( 8269): uid=10227(com.example.master) 1.ui identical 17 lines
[        ] I/flutter ( 8269): bvvvv
[ +164 ms] I/flutter ( 8269): bvvvv
[+1590 ms] I/chatty  ( 8269): uid=10227(com.example.master) 1.ui identical 7 lines
[        ] I/flutter ( 8269): bvvvv
[  +51 ms] I/flutter ( 8269): bvvvv
[+3693 ms] I/chatty  ( 8269): uid=10227(com.example.master) 1.ui identical 9 lines
[        ] I/flutter ( 8269): bvvvv
[  +17 ms] I/flutter ( 8269): bvvvv
[+6426 ms] DevFS: Deleting filesystem on the device (file:///data/user/0/com.example.master/code_cache/masterJUGLUF/master/)
[  +46 ms] DevFS: Deleted filesystem on the device (file:///data/user/0/com.example.master/code_cache/masterJUGLUF/master/)
[ +253 ms] Service protocol connection closed.
[        ] Application finished.
[   +3 ms] executing: /Users/nevercode/Library/Android/sdk/platform-tools/adb -s 965AY0WP5C forward --list
[   +8 ms] Exit code 0 from: /Users/nevercode/Library/Android/sdk/platform-tools/adb -s 965AY0WP5C forward --list
[        ] 965AY0WP5C tcp:53972 tcp:37749
[   +1 ms] executing: /Users/nevercode/Library/Android/sdk/platform-tools/adb -s 965AY0WP5C forward --remove tcp:53972
[  +11 ms] executing: /Users/nevercode/Library/Android/sdk/platform-tools/adb -s 965AY0WP5C forward --list
[   +7 ms] Exit code 0 from: /Users/nevercode/Library/Android/sdk/platform-tools/adb -s 965AY0WP5C forward --list
[   +3 ms] "flutter run" took 116,740ms.
[   +5 ms] Running shutdown hooks
[        ] Shutdown hook priority 4
[        ] Shutdown hooks complete
[        ] exiting with code 0

doctor
[✓] Flutter (Channel master, 1.21.0-2.0.pre.66, on Mac OS X 10.15.5 19F101, locale en-GB)
    • Flutter version 1.21.0-2.0.pre.66 at /Users/nevercode/development/flutter_master
    • Framework revision 54c9441723 (2 days ago), 2020-07-17 18:56:12 -0400
    • Engine revision d327828632
    • Dart version 2.9.0 (build 2.9.0-21.0.dev 9dca49e71e)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/nevercode/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.0

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.2

[✓] Connected device (4 available)
    • Pixel 3a (mobile) • 965AY0WP5C • android-arm64  • Android 10 (API 29)
    • macOS (desktop)   • macos      • darwin-x64     • Mac OS X 10.15.5 19F101
    • Web Server (web)  • web-server • web-javascript • Flutter Tools
    • Chrome (web)      • chrome     • web-javascript • Google Chrome 83.0.4103.116

• No issues found!

Thank you

I was not able to reproduce this on latest stable and master channel so I will close it as fixed. If you disagree please feel free to comment bellow and I will reopen it.
Thank you
sample
import 'package:flutter/material.dart';

void main() =>
  runApp(MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key key}) : super(key: key);
  static const  Widget _home =  MyHomePage(key: Key('home'));

  @override
  Widget build(BuildContext context) => MaterialApp(
    home: _home,
  );
}

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

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  TextEditingController _controller;

  @override
  void initState() {
    super.initState();
    _controller = TextEditingController();
  }

  @override
  void dispose() {
    _controller?.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) => Material(
    child: Center(
      child: TextField(
        controller: _controller,
        maxLength: 5,
        onChanged: (String data) => debugPrint(data),
      ),
    ),
  );
}

flutter doctor -v
[✓] Flutter (Channel stable, 1.20.2, on Mac OS X 10.15.6 19G2021, locale en)
    • Flutter version 1.20.2 at /Users/pedromassango/dev/SDKs/flutter_stable
    • Framework revision bbfbf1770c (3 weeks ago), 2020-08-13 08:33:09 -0700
    • Engine revision 9d5b21729f
    • Dart version 2.9.1

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/pedromassango/Library/Android/sdk
    • Platform android-30, build-tools 30.0.1
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor
      --android-licenses

[✓] Xcode - develop for iOS and macOS (Xcode 11.7)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.7, Build version 11E801a
    • CocoaPods version 1.9.3

[!] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] IntelliJ IDEA Community Edition (version 2020.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 48.1.4
    • Dart plugin version 202.7206

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

[✓] Connected device (1 available)
    • iPhone 11 Pro Max (mobile) • 3DA251B5-C982-48C8-8FF5-C4D1DB21ED89 • ios •
      com.apple.CoreSimulator.SimRuntime.iOS-13-7 (simulator)

! Doctor found issues in 2 categories.


[Rootfs] Add GCC 11.1

Companion pull request in Yggdrasil: https://github.com/JuliaPackaging/Yggdrasil/pull/3174

I ran make -j${nproc} -sC /usr/share/testsuite install for a bunch of platforms (in particular all x86_64 systems), it seems to be all good.  This should be ready to go.


Updated output type for Division operation

@NatasaKralj https://mendix.slack.com/archives/C63U54B6K/p1646660432098569

@NatasaKralj already verified in that thread.

Thanks @Adam-Dupaski  for the info, thanks @AnnYe-Fluithaas for the PR.
I just added some indent formatting fixes to the examples in the same section.
Good to go, merging.


Uncaught TypeError: Cannot read property '2' of undefined

[Enter steps to reproduce below:]

create lcov (using istanbul)
toggle lcov
click sort

Sample of the report  (column alignment is pretty close in example)
Test Coverage               Coverage         Percent   Lines    Hits/line
   ========= 100%   13/13  4.08
Percent/coverage are misaligned, looks like what's in the percent column is actually the hits/line data.
Lines is missing entirely.  Test Coverage is the label for the filename
Looks like something is odd between the columns and the headers.
Atom Version: 1.3.2
System: Mac OS X 10.10.5
Thrown From: lcov-info package, v0.10.5
Stack Trace
Uncaught TypeError: Cannot read property '2' of undefined
At /Users/x/.atom/packages/lcov-info/node_modules/tablesort/src/tablesort.js:84

TypeError: Cannot read property '2' of undefined
    at Object.Tablesort.sortTable (/Users/x/.atom/packages/lcov-info/node_modules/tablesort/src/tablesort.js:84:63)
    at HTMLTableCellElement.onClick (/Users/x/.atom/packages/lcov-info/node_modules/tablesort/src/tablesort.js:38:22)

Commands
     -0:19.1.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:17.3.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:17.3.0 lcov-info:toggle (atom-text-editor.editor)

Config
{
  "core": {
    "themes": [
      "one-dark-ui",
      "solarized-dark-syntax"
    ],
    "projectHome": "/Users/x/Development"
  }
}

Installed Packages
# User
fonts, v1.0.0
highlight-line, v0.11.0
highlight-selected, v0.11.1
jsonlint, v1.1.2
lcov-info, v0.10.5
linter, v1.11.3
linter-jshint, v1.2.1
minimap, v4.18.4
sync-settings, v0.6.0
terminal-plus, v0.14.5

# Dev
No dev packages

looks like this may be a dup of #31


Remove: IObit.DriverBooster version <IP_ADDRESS>

## Newer version exists in repo

[X] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.5 schema?

Microsoft Reviewers: Open in CodeFlow

@wingetbot run

Automatic Validation ended with:

2024-02-07T03:21:54.2468154Z Processing manifest: manifests\i\IObit\DriverBooster\<IP_ADDRESS>
2024-02-07T03:21:54.2478311Z -----------------------------------------------------
2024-02-07T03:21:54.2484791Z Status: Started
2024-02-07T03:21:54.2494352Z Manifest file is Deleted
2024-02-07T03:21:54.7433976Z Status: Completed
2024-02-07T03:21:54.7449756Z ##[error] Result: Failed
2024-02-07T03:21:54.7494940Z ##[error] Sequence contains no elements
2024-02-07T03:21:54.8093648Z ##[error]Manifest Validation Failed

(Automated response - build 726.)

Automatic Validation ended with:

2024-02-07T03:21:54.2468154Z Processing manifest: manifests\i\IObit\DriverBooster\<IP_ADDRESS>
2024-02-07T03:21:54.2478311Z -----------------------------------------------------
2024-02-07T03:21:54.2484791Z Status: Started
2024-02-07T03:21:54.2494352Z Manifest file is Deleted
2024-02-07T03:21:54.7433976Z Status: Completed
2024-02-07T03:21:54.7449756Z ##[error] Result: Failed
2024-02-07T03:21:54.7494940Z ##[error] Sequence contains no elements
2024-02-07T03:21:54.8093648Z ##[error]Manifest Validation Failed

(Automated response - build 726.)

Sequence contains no elements

https://github.com/microsoft/winget-pkgs/issues/133371

(Automated response - build 726.)


Added a simple ExpectedException attribute

Fixes nunit/nunit#428

It looks as if you're updating on top of an old copy of master, missing the changes I made after October. In fact, I shouldn't have merged PR #3, because I had already deleted those files in December. I don't think any harm was done, however.
Can you pull and rebase this PR on top of master?

I've rebased this. We have some line ending problems in this repository, so you might want to review with ?w=1. We should probably clean up at some point, but I doubt it is a priority :smile:


Organize migrations by database objects (a preprocessor)

The following is an idea for discussion. I can make separate preprocessor and feed it into flyway but I wanted to run it by you first (@axelfontaine).
We have gotten to the point where SQL migration scripts are really making it confusing what actually is in the database.
Ideally we would like the SQL scripts to be organized by object and not migration version just like you would organize code.
There are project(s) that are doing this but are exceedingly complicated and/or lack the maturity that flyway does (e.g. Obevo by GS).
So here is my idea that doesn't require a change to Flyway.
A directory with a list of migrations e.g.:

V_001
V_002

Those migration files are just  plain text files with list of file names to SQL object files in order of dependency.
And a directory of SQL objects (e.g.):

CUSTOMER_TABLE.sql
ORDER_TABLE.sql

The SQL objects files have some meta data comments which will be described below.
Now Lets say

V_001 points CUSTOMER_TABLE.sql
V_002 points to CUSTOMER_TABLE.sql, ORDER_TABLE.sql

The above order is important (ie order table before customer table).
CUSTOMER_TABLE.sql contents would look like:
---- CHANGE=V_001
CREATE TABLE CUSTOMER();
---- CHANGE=V_002
ALTER TABLE CUSTOMER ADD COLUMN SOME_ID;

ORDER_TABLE.sql
---- CHANGE=V_002
CREATE TABLE ORDER();
-- ADD a FKEY to CUSTOMER some id

Anyway hopefully the above you get the gist of how it works.
Now you just run it through preprocessor which will generate
V_001.sql
V_002.sql

If V_001.sql is changed in your source control you know you have messed up and touched something within ---- CHANGE=V_001.
Curious what your thoughts are?
We aren't Boxfuse customers but this might be a feature that would turn us into ones!

Thank you for your suggestion. We already support some form of organising SQL scripts by object with repeatable migrations. See https://flywaydb.org/documentation/migrations#repeatable-migrations
This works great for many kinds of objects, except unfortunately for tables.
While I can see your suggested solution being useful in specific scenarios, it is too niche a requirement and it wouldn't carry its conceptual weight for the product at this time.

As a owner of a software company I always like to hear others use cases and or how I can gain customers. Thus I appreciate the quick response time and consideration.

Thank you for your suggestion. We already support some form of organising SQL scripts by object with repeatable migrations. See https://flywaydb.org/documentation/migrations#repeatable-migrations

About that....
Repeatable Migrations in my opinion are broken for us as I reported here: https://github.com/flyway/flyway/issues/1999
Flyway really needs a hook to understand about app versions.
We have workaround in testing where we have a special table that has the version of the app currently deployed. We don't let flyway run if the app booting up has a lesser version.

While I can see your suggested solution being useful in specific scenarios, it is too niche a requirement and it wouldn't carry its conceptual weight for the product at this time.

Well I disagree. And so do several folks. Please see when you have a chance Obevo and or read this article: https://www.infoq.com/articles/Obevo-Introduction/ .
At this point it is really painful to use Flyway from a developers perspective once you have 100s - 1000s of migrations.
Just the naming of SQL files is ripe with potential conflicts and or errors (e.g. merge). Currently we follow a date naming paradigm (because of merge issues) instead of just monotonically incrementing but its still arduous and annoying to name the SQL file with the date.
And then there is just trying to figure out what a current table is and or its history. Sure you can go look directly in the database and then compare with previous code but this is painful.
And going back to repeatable migrations... you have to create an arbitrary prefix to get the correct sort order (think unix init config scripts) so that Flyway will load the repeatables in the correct dependency order (for stored procedures). At this point developers are giving up and just putting it all in one gigantic repeatable migration script.
If I could we would move to Obevo but it doesn't support clustering yet. I honestly think its design is the future. Life is too short writing 1000s of V_[0-9]+ .
Anyway hopefully the above wasn't too much of a rant and it doesn't matter much anyway as I can just write our own preprocessor just like I had to write our own version checker for the repeatable migrations.
In the mid-early 2000s I wrote a SQL migration tool in Python . It didn't have cluster support but it did have md5 checksums... I had plans to implement something like the above but never got around to it.... so maybe it is niche.


bug(调度器): 迁移和主备机创建调度失败

What happened:
如果 network 没有开启 auto_alloc 自动分配，会出现创建主备机和迁移失败的问题。
这个是调度失败日志
 error: 'genericScheduler.Schedule: No resource are avaliable that match all of the
    following predicates: filter by host_migrate(-1), host_network(-8), session_id="1606182133191"'
  logs:
  - 'Success: zwyf-10-10-68-10-10:320766e6-740d-44a8-8ed8-a51d0b6fb865 [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-10-10-68-10-10:320766e6-740d-44a8-8ed8-a51d0b6fb865 [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-2-10-68-10-2:4e867171-1f4c-46e1-8eac-82d47c41bb05 [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-2-10-68-10-2:4e867171-1f4c-46e1-8eac-82d47c41bb05 [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-3-10-68-10-3:25360e83-8c8c-400c-8686-2e890cbd798c [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-3-10-68-10-3:25360e83-8c8c-400c-8686-2e890cbd798c [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-4-10-68-10-4:f4ce1dce-7ac2-4562-8cde-0abbc83bf501 [host_aggregate,host_hypervisor_runtime,host_status] '
  - 'Failed: zwyf-4-10-68-10-4:f4ce1dce-7ac2-4562-8cde-0abbc83bf501 [host_migrate]
    host_migrate: host_id specified for migration'
  - 'Success: zwyf-5-10-68-10-5:2b6d0295-7268-4e17-871c-a909f6819c1e [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-5-10-68-10-5:2b6d0295-7268-4e17-871c-a909f6819c1e [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-6-10-68-10-6:c65e45c8-b9b4-4977-83a8-d4ee6ed258c4 [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-6-10-68-10-6:c65e45c8-b9b4-4977-83a8-d4ee6ed258c4 [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-7-10-68-10-7:f5f40be5-1a1d-438b-8425-37225f3e597a [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-7-10-68-10-7:f5f40be5-1a1d-438b-8425-37225f3e597a [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-8-10-68-10-8:37ca7d47-5948-4f6f-8b0d-aa48d46bc9a5 [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-8-10-68-10-8:37ca7d47-5948-4f6f-8b0d-aa48d46bc9a5 [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  - 'Success: zwyf-9-10-68-10-9:15e5034f-1689-4f19-80a5-09a124e677f1 [host_aggregate,host_cpu,host_domain,host_hypervisor_runtime,host_memory,host_migrate,host_status,host_storage] '
  - 'Failed: zwyf-9-10-68-10-9:15e5034f-1689-4f19-80a5-09a124e677f1 [host_network]
    network_ownership: Network adm0 not accessible,: exit is not match,network_match:
    localnet(92bca945-7c82-415b-8321-297fba94eb42): id/name not matched,: exit is
    not match'
  result: null
  status: failed
  time: "2020-11-24 09:42:13"
  type: hypervisor
time: "2020-11-24 09:42:13"

/cc @wanyaoqi @zexi

PR: https://github.com/yunionio/onecloud/pull/9049 解决这个问题

/close

caused by guest config to schedule input not set network exit params