PodInfo should be a list, not a map

Comparing a single container details in "spec" and the "status" sections,
there are some differences in what data is exposed per container in those sections:

container is identified with index array in "spec", and its name is a property inside the index.
while in "status" its main element is its name.

in the "status" which is the runtime online representation, there's no info about ports, memory, cpu, etc.
even when container is running.

@bgrant0607 PTAL

@erictune what is PTAL?

PTAL = "please take a look" or "please take another look".

As per docs/api-conventions.md "the convention is to use a list of
subobjects containing name fields"
https://github.com/GoogleCloudPlatform/kubernetes/issues/2004
It sounds like status is buggy
On Tue, Jan 20, 2015 at 8:43 AM, Eric Tune<EMAIL_ADDRESS>wrote:

PTAL = "please take a look" or "please take another look".
--
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/3622#issuecomment-70686652
.

but what about the other issue - missing info on ports/resources?

/cc @dchen1107

Yes, status should not be a map.

@abonas What info would you like to see about ports?
We plan to introduce a separate API for resource information. See the section about usage here:
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/resources.md
/cc @rjnagal

@bgrant0607 when I query for pod information and its containers, it's important to see what's going on with them in runtime. so if spec was ports XYZ, cpu A and memory B, I would like to see if indeed it matches the spec or is different. were the ports allocated? same ports? different ports?
otherwise, having only the spec information, there's nothing user can do to monitor/manage the runtime.

also, having an additional api means it's requiring more requests to server, more merging work and resolving relationships on client side. not very convenient for clients.

I will open a separate issue on the ports missing info, and keep this one for the buggy status structure

@dchen1107 are you working on it?

not at this moment, feel free grabbing it.

@bgrant0607
I'm trying to change PodInfo to be a list.
Should it only be changed in api v3 or also in v1 and v2? In general do we still want to modify api v1 and v2 or are those versions final?
How about internal representation of PodInfo? Do we want to keep it as it is or change to be compatible with external type? There is some internal code (pkg/kubelet/dockertools/docker.go) which relies on that PodInfo is a map. Do we want to try use externally and internally the same types when possible?

For consistency in beta3, I still endorse this.  Brian is contemplating the
longer term of maps vs lists, and this may yet reverse.  I don't see that
happening in v1.
I would make this change only in b3 and internal.  If keeping it as a map
is important internally, we CAN do that, but it requires a conversion func,
which I know Brian is trying to avoid.
On Thu, Feb 26, 2015 at 4:57 AM, Piotr Szczesniak<EMAIL_ADDRESS>wrote:

@bgrant0607 https://github.com/bgrant0607
I'm trying to change PodInfo to be a list.
Should it only be changed in api v3 or also in v1 and v2? In general do we
still want to modify api v1 and v2 or are those versions final?
How about internal representation of PodInfo? Do we want to keep it as it
is or change to be compatible with external type? There is some internal
code (pkg/kubelet/dockertools/docker.go) which relies on that PodInfo is a
map. Do we want to try use externally and internally the same types when
possible?
--
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/3622#issuecomment-76173432
.

I recommend waiting on this until at least Monday.

Thanks for the info.
@bgrant0607 ping me when you're ready.

Sorry for the delay. Hold off on this a bit longer. Debate is ongoing. I recommend choosing something else to work on in the short term.

No problem. Sure, I'm working also on other issues. Please let me know the decision will be made.

Ok, decision is lists: #4889.
Sorry for the delay.

Thanks for the info.

I did not get the sense that a decision had been made and I've been
watching that thread...
On Tue, Mar 10, 2015 at 11:01 AM, Brian Grant<EMAIL_ADDRESS>wrote:

Ok, decision is lists: #4889
https://github.com/GoogleCloudPlatform/kubernetes/issues/4889.
Sorry for the delay.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/3622#issuecomment-78111242
.

I don't think that this makes the v1.0 cut.

We were trying to get this into v1beta3, since it currently violates our stated API convention.
That said, I'm fine with demoting the priority at this point, esp. since it's in status rather than spec.

I'm about to finish this change (still need to fix one test)


CreateRandomPedOnSeat creates animals sometimes

Myself and users of my VAutodrive experienced this.

That's expected. Animals are peds too and CreateRandomPedOnSeat just chooses a random value out of the PedHash enumeration.

Who expects an animal to be spawned on a vehicle seat? smh

why not use create_random_ped_as_driver or create_random_ped for this method instead of randomly choosing a hash from the enum

Didn't know these 2 hashes exist, good catch. I think it would be good using them here.
@crosire

Agreed.


Fails on Windows

Error: Process completed with exit code 127.

See also https://github.com/GuillaumeFalourd/setup-rsync/actions/runs/5735432467
Work around: Use https://github.com/egor-tensin/setup-cygwin
- name: Set up rsync
  uses: egor-tensin/setup-cygwin@v4
  with:
    packages: rsync

Other workaround:
choco install --no-progress rsync

In case the latter is used, remember to use -e 'C:\ProgramData\chocolatey\lib\rsync\tools\bin\ssh.exe' as ssh client. Otherwise, one can get
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(231)    [sender=3.2.7]

Hi @koppor , thank you for opening this issue!
I didn't notice the action wasn't working for windows runners anymore.
I've open a PR to resolve the issue as you suggested, you can check the implementation here. Let me know what you think about the solution, and I'll publish a new tag v1.2 for the action 🚀


Code climate checks are not detected

Hi Markus.
We recently added Code Climate to our repository and added a required check for codeclimate to succeed before our pull request gets merged. This broke the merge automation for us.
Turns out, code climate checks are not reported as a check run, but as a Commit Status (Github reference).
Required status checks detection should be updated to consider commit statuses as well.
P.S. I'm adding this mostly for documentation, I think I would create a PR to address it next week. But if you'd like to do this yourself feel free to go ahead

Closed by https://github.com/reitermarkus/automerge/pull/190.


fix: max message length for indexers

Allowing bigger messages from Apibara's indexers. As a consequence, we add an optional swap file to the container if needed (useful for small VPS with low RAM, as Apibara can send very big messages)

Reduced memory usage from ~800MB to ~140MB (And swap memory is not even used ATM)

Reduced data_in from ~500KB/s to ~50KB/s

And made the indexers faster (I think that's why data_out increased: more blocks to process so more API calls)


[android]  keyboard type doesn't change on some keyboards

Steps to Reproduce
use two TextField with different textInputAction
one has maxLines: null and textInputAction: TextInputAction.done
another one has maxLines: null and textInputAction: TextInputAction.newline
Expected results:  action button on keyboard display correct action
Actual results:  action button on keyboard display the same action for both
flutter doctor -v

Details

[✓] Flutter (Channel stable, 2.2.3, on macOS 11.4 20F71 darwin-x64, locale en)
    • Flutter version 2.2.3 at /Users/minhtran/fvm/versions/stable
    • Framework revision f4abaa0735 (7 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/minhtran/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at:
      /Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home/bin/java
    • Java version Java(TM) SE Runtime Environment 18.9 (build
      11.0.12+8-LTS-237)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5.1, Build version 12E507
    • CocoaPods version 1.10.1

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

[!] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2021.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 59.0.4
    • Dart plugin version 212.4746.57

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

[✓] Connected device (3 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    •
      Android 11 (API 30) (emulator)
    • macOS (desktop)                    • macos         • darwin-x64     •
      macOS 11.4 20F71 darwin-x64
    • Chrome (web)                       • chrome        • web-javascript •
      Google Chrome 92.0.4515.131

! Doctor found issues in 1 category.

sample snippet

Details

    return Scaffold(
      appBar: AppBar(
        leading: const BackButton(),
        actions: [IconButton(onPressed: () {}, icon: Icon(Icons.alarm))],
      ),
      body: Container(
        child: SingleChildScrollView(
          child: Padding(
            padding: const EdgeInsets.all(16),
            child: Column(
              mainAxisSize: MainAxisSize.min,
              children: const [
                TextField(
                  decoration: InputDecoration(
                    hintText: 'Title',
                    border: InputBorder.none,
                  ),
                  maxLines: null,
                  style: TextStyle(fontSize: 24),
                  textInputAction: TextInputAction.done,
                ),
                TextField(
                  decoration: InputDecoration(
                    hintText: 'Note',
                    border: InputBorder.none,
                  ),
                  maxLines: null,
                  textInputAction: TextInputAction.newline,
                ),
              ],
            ),
          ),
        ),
      ),
    );

full code: here
run app > click to add(+) button
https://user-images.githubusercontent.com/52562340/129602661-25952916-83c2-4d3b-afd1-0a741745474f.mov

Hi @tbm98
Thanks for filing the issue, I am not able to reproduce the issue on emulators on macOS or Windows (Android 10 or Android 11)
macOS
https://user-images.githubusercontent.com/48603081/129719169-cf370b52-db2c-4e5c-9ee5-527137bdc91e.mov
Windows

I also tried a physical device with Google Gboard, still no issue

but it reproduces when using SwiftKey

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on Microsoft Windows [Version 10.0.22000.132], locale en-US)
    • Flutter version 2.2.3 at C:\Users\Taha\Code\flutter_stable
    • Framework revision f4abaa0735 (7 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\Taha\Code\android-sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\android-sdk
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

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

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.0)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.31605.320
    • Windows 10 SDK version 10.0.19041.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[✓] VS Code (version 1.59.0)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.25.0

[✓] Connected device (6 available)
    • Redmi K20 Pro (mobile)             • def0ad20      • android-arm64  • Android 11 (API 30)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 10 (API 29) (emulator)
    • sdk gphone x86 (mobile)            • emulator-5556 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)                  • windows       • windows-x64    • Microsoft Windows [Version 10.0.22000.132]
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 92.0.4515.159
    • Edge (web)                         • edge          • web-javascript • Microsoft Edge 92.0.902.67

! Doctor found issues in 1 category.

Can you please provide the exact emulator name from AVD manger?

Hi @TahaTesser
It is pixel 4 XL with android 11 (without google play)

.

I just tested on pixel 4 with android 11(with google play) it works correctly

Hi @tbm98
I can reproduce on the same emulator, the reason for this is emulator without Google Play uses the AOSP keyboard, and with Google Play emulator uses Gboard.  It is confirmed by reproduction on physical which uses Gboard https://github.com/flutter/flutter/issues/88299#issuecomment-900238530. But the issue also exists on the Swift keyboard.

Preview

Emulator with AOSP keyboard
[   +5 ms] Flutter run key commands.
[   +3 ms] r Hot reload. 🔥🔥🔥
[   +2 ms] R Hot restart.
[   +1 ms] h List all available interactive commands.
[   +1 ms] d Detach (terminate "flutter run" but leave application running).
[   +1 ms] c Clear the screen
[        ] q Quit (terminate the application on the device).
[        ] 💪 Running with sound null safety 💪
[   +1 ms] An Observatory debugger and profiler on Android SDK built for x86 is available at:
http://<IP_ADDRESS>:51355/Kdww_voqWPU=/
[ +204 ms] DevTools activation throttled until 2021-08-18 22:33:18.358733.
[+3147 ms] The Flutter DevTools debugger and profiler on Android SDK built for x86 is available at:
                    http://<IP_ADDRESS>:9101?uri=http://<IP_ADDRESS>:51355/Kdww_voqWPU=/
[+8986 ms] W/IInputConnectionWrapper( 3786): getSelectedText on inactive InputConnection
[   +1 ms] W/IInputConnectionWrapper( 3786): requestCursorAnchorInfo on inactive InputConnection
[   +1 ms] W/IInputConnectionWrapper( 3786): getTextBeforeCursor on inactive InputConnection
[   +3 ms] W/IInputConnectionWrapper( 3786): getTextBeforeCursor on inactive InputConnection
[ +175 ms] W/IInputConnectionWrapper( 3786): getTextBeforeCursor on inactive InputConnection
[        ] W/IInputConnectionWrapper( 3786): getTextBeforeCursor on inactive InputConnection
[ +160 ms] D/InputConnectionAdaptor( 3786): The input method toggled cursor monitoring on
[ +423 ms] D/InputConnectionAdaptor( 3786): The input method toggled cursor monitoring on
[ +405 ms] D/InputConnectionAdaptor( 3786): The input method toggled cursor monitoring on
[ +422 ms] D/InputConnectionAdaptor( 3786): The input method toggled cursor monitoring on
[ +300 ms] D/InputConnectionAdaptor( 3786): The input method toggled cursor monitoring on
[ +323 ms] D/InputConnectionAdaptor( 3786): The input method toggled cursor monitoring on
[ +227 ms] D/InputConnectionAdaptor( 3786): The input method toggled cursor monitoring on
[ +240 ms] D/InputConnectionAdaptor( 3786): The input method toggled cursor monitoring on

stable
master

❌
❌

Check flutter doctor -v outputs for each channel below

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on Microsoft Windows [Version 10.0.22000.132], locale en-US)
    • Flutter version 2.2.3 at C:\Users\Taha\Code\flutter_stable
    • Framework revision f4abaa0735 (7 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\Taha\Code\android-sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\android-sdk
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

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

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.0)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.31605.320
    • Windows 10 SDK version 10.0.19041.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[✓] VS Code (version 1.59.0)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.25.0

[✓] Connected device (5 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • sdk gphone x86 (mobile)            • emulator-5556 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)                  • windows       • windows-x64    • Microsoft Windows [Version 10.0.22000.132]
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 92.0.4515.159
    • Edge (web)                         • edge          • web-javascript • Microsoft Edge 92.0.902.67

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 2.5.0-7.0.pre.130, on Microsoft Windows [Version 10.0.22000.132], locale en-US)
    • Flutter version 2.5.0-7.0.pre.130 at C:\Users\Taha\Code\flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d83fba1a22 (54 minutes ago), 2021-08-18 03:02:04 -0400
    • Engine revision a27da3eeb6
    • Dart version 2.15.0 (build 2.15.0-24.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\Taha\Code\android-sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\android-sdk
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

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

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.0)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.31605.320
    • Windows 10 SDK version 10.0.19041.0

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

[✓] VS Code (version 1.59.0)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.25.0

[✓] Connected device (6 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86     • Android 11 (API 30) (emulator)
    • sdk gphone x86 (mobile)            • emulator-5556 • android-x86     • Android 11 (API 30) (emulator)
    • Windows (desktop)                  • windows       • windows-x64     • Microsoft Windows [Version 10.0.22000.132]
    • Windows (UWP) (desktop)            • winuwp        • windows-uwp-x64 •
    • Chrome (web)                       • chrome        • web-javascript  • Google Chrome 92.0.4515.159
    • Edge (web)                         • edge          • web-javascript  • Microsoft Edge 92.0.902.67

• No issues found!

✅: No Issue ❌: Issue reproduced

CC @justinmc

Vaguely reminds me of https://github.com/flutter/flutter/issues/84240, but I guess that's keyboard type and not action...

@justinmc
I looked into this, I don't see any difference in editable_text when using either keyboard
TextInput._instance._currentConfiguration in text_input.dart is correctly updated with new action and keyboard type.
Do you think this is a framework issue still? I can see input action has changed but the keyboard on the screen is not updated only with the AOSP keyboard
and I also tested the native app with the same configuration, keyboard updates just fine.


Random generator DateTime has an optional DateTimeKind.

When creating random DateTime's the kind was always getting set as Unspecified. So I was constantly having to SpecifyKind with the randomly generated DateTime to define the kind, I wanted.
Now, we can define the kind at the time we call the randomization.

@crmckenzie Heya. Is it worth my time in updating this PR to work off the latest version of develop .. or .. just close this PR?

For whatever reason I wasn't notified about this PR so it wasn't on my radar. Looking at it in detail it would be a (subtly) breaking change so it would require a major version release. No problem there--just an observation. It looks good to me. Get the PR updated and I'll get a release started.
Sorry for missing it the first time around.

@crmckenzie Ok. fixed up.
If this PR is approved, I would recommend Squash and Merge to keep the commit history nice and clean.


Image size is not in same ratio in mobile view for project cards

@opencodebot claim

@ananya-agrawal please assign the marks for this issue

@opencodebot claim


Added https://github.com/Roeefl/vue-github-corners

added https://github.com/Roeefl/vue-github-corners

Thank you


Updated Unity Container URL

Looks good.  Merging so we can test it since other stamps are tied up with PowerFlex dev.


How to send signed transaction with private key on ruby on rails

Hi everyone.
I am going to send transaction with my private key using web3-eth gem.
But i can't find correct solution anywhere.
Please help me!
Best regards!

I can do it with nodejs and python.
But i want do it with ruby on rails.
for example I can find this solution in nodejs
var count = web3.eth.getTransactionCount("0x26...");
var abiArray = JSON.parse(fs.readFileSync('mycoin.json', 'utf-8'));
var contractAddress = "0x8...";
var contract = web3.eth.contract(abiArray).at(contractAddress);
var rawTransaction = {
"from": "0x26...",
"nonce": web3.toHex(count),
"gasPrice": "0x04e3b29200",
"gasLimit": "0x7458",
"to": contractAddress,
"value": "0x0",
"data": contract.transfer.getData("0xCb...", 10, {from: "0x26..."}),
"chainId": 0x03
};
var privKey = new Buffer('fc3...', 'hex');
var tx = new Tx(rawTransaction);
tx.sign(privKey);
var serializedTx = tx.serialize();
web3.eth.sendRawTransaction('0x' + serializedTx.toString('hex'), function(err, hash) {
if (!err)
console.log(hash);
else
console.log(err);
});
How can i do it in ruby on rails?
Please help me.

Any update on this?


Tradedoubler links not skipped

New Issue Checklist (tick off like this: [x])

[X] I checked existing issues (open and closed) for possible duplicates
[X] I can reproduce the problem on the latest stable version (not nightly!)
[X] If you have a problem a specific website: adding the domain to your blacklist does not solve the problem
[X] The issue is not about adding entries to the default blacklist

What is your browser?

[X] Firefox
[ ] Chrome

What is your operating system?

[ ] Linux
[ ] Mac
[X] Windows

Description (please include examples/screenshots where applicable)
Skip Redirect not redirect Tradedoubler links.
Example:
http://clk.tradedoubler.com/click?p(21)a(2513392)g(17284614)url(https://www.adlibris.com/se/sok/?q=9789173133609)
It partly works since the link above redirects to a link to:
https://redir.tradedoubler.com/projectr/?utm_source=tradedoubler*_td_*KEEP_NEWEST&utm_medium=affiliate*_td_*KEEP_NEWEST&utm_campaign=boktugg.se*_td_*KEEP_OLDEST&tduid=5dbbf313d3ce266efccc429bf2769995&_td_deeplink=https://www.adlibris.com/se/sok/?q=9789173133609
and that link is skipped. So it is like a double redirection. But I would like to see the clk.tradedoubler.com link also skipped.

There is no simple way of doing this without imlementing a special case that in turn might break other things. All that because they invented their own way of handling query parameters. So I won't do it.


feat(apps): graphql app PoC

This PR adds a PoC for a graphql app. The app is implemented as an ApolloServer mounted on top of express.
The full schema can be seen here. For now, results are returned as blob scalar types, effectively JSON. Currently, the graphql app supports the Cache, Data, and Storage ports.
One caveat is that since GraphQL is not used to serve files, we instead mount a route onto express at GET /storage/:name/* to serve files from the storage provider (this mirrors the existing express app). File uploads may still be performed via the putStorageObject mutation.
I've included a test harness that can be ran by simply running docker-compose up, and then yarn dev in the src/apps/graphql/test/harness directory (make sure to install deps in all packages with yarn prior to running). Then you can visit  the playground in your browser at http://localhost:6363/graphql
I am looking for and am open to any and all feedback! Thanks!

Okay, i've rebased off the nano-adapters branch and moved the graphql app into packages/app-graphql I also:

refactored ES6 -> CJS to follow rest of the project ( hopefully didn't miss anything)
created image in images/graphql that uses the @hyper63/app-graphql app

However when I tried to build the container I got an error from yarn complaining that @hyper63/app-graphql could not be found on the registry. I didn't want to publish something to the yarn registry on my own, so I left it at that. The image still needs to be tested.
Also since the graphql app doesn't yet implement search, I made the version sub 1.0, 0.1.0. I figure when all ports are made available, then that could be 1.0.0
Please let me know your thoughts
PS: there are a lot of commits here. They are all logically separated (no wips), but I can squash them down a bit if we want to keep the history on public branches a little more concise. Just let me know what you want to do.


changed nav bar shadows

Hey @kaal-coder, I was trying different shadows and thought that it looker better off without the shadows. So I made those changes and the Subscribe us button in the nav bar was looking different from the one below so made them look similar for a consistent look. Apart from that, I made a few alignment changes.

@Saishreekouda please share a preview of the changes made.

Here is the preview @kaal-coder

I was expecting a better design and hence I gave you medium level so that you have enough time to change.
Do you want to add more styling in this or else I have to merge this under easy level.

@kaal-coder i will make more changes to this

Okay


integration with React Router Config

💬 Questions and Help

Read carefully the README of the project
Done!

Search if your answer has already been answered in old issues
Done!

I got a little used React-Router-Config's technology:
matchRoutes(routes, url).map(({route, match}) => {
        let {getInitData} = route.component; // component's static method
        return getInitData instanceof Function
            ? getInitData(match, store)
            : Promise.resolve(null)
    });

console.log(route.component) //
 { '$$typeof': Symbol(react.forward_ref),
  render: [Function],
  preload: [Function] }

Is it possible to access the component's static method getInitData, dynamically imported by loadable-components in routes?

No - an underlying component is not actually loaded at this moment, but would be in a future, when you render a loadable wrapper around it.
If you want to keep using this pattern(I also very like it) - extract “getInitData” to a separate file.
Then:
‘’’js
const component=loadable(()=>import(...);
component.getInitData = getInitData
‘’’

And it should work on the server?
interesting solution..
Thanks!

Hello @valorloff, @theKashey solution is good, it should work.


add accesor for reactive power limits for Source

Source should work with PowerFlows.jl to be able to handle limit data

Fixed in latests release


Error when building IoU contract and flow jars

When attempting to build the IoU sample contract and flow jars I received the below error.  I'm using Java version "1.8.0_371" and gradle version Gradle 8.1.1
`> Task :buildAll
Building corda-samples

Task :iou-contract:compileJava FAILED

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':iou-contract:compileJava'.

Could not find tools.jar. Please check that /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home contains a valid JDK installation.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 23s
2 actionable tasks: 2 executed
`

hi @trevorsc19, you have to use specific JDK distros to work with Corda. try getting the zulu openjdk from Azul


feat(forge): invariant tests

Adds invariant tests.
creates a strategy for selecting a contract from identified contracts, and a strategy for fuzzing the input params. If the call succeeds, check all the invariants in the contract (as defined by invariant prefix to a public function).
TODO:

[x] multiple rounds of calls (currently only does 1 call)
[ ] function selector strategy currently never grabs index 0 it seems
[ ] update identified contracts after each call (instead of just after setup)
[x] utilize the calldata strategy in fuzz_dict branch for state lifting
[x] add state lifting in invariant fuzzes
[x] add return data & input data into state lift dictionary

superseded by #1572


Banned proxies temporary disabled

When a proxy is marked as banned, he's added to a bannedProxy queue and won't be used until every other proxy is marked as banned

What about backend proxies?  This would shut down scanning for anyone running a backend proxy.... And then put it back in the queue.
Sent from my LGE LG-H820 using FastHub


Add Support for Custom HTTP Routes

Summary
Fixes #866, #834
This PR introduces support for adding custom HTTP routes to both HTTPReceiver and SocketModeReceiver.
Currently, SocketModeReceiver uses the http module to create routes if OAuth support is present. The changes introduced here expand upon that HTTP route creation and add additional routes if customRoutes is passed at the instantiation of App.
How to Add Custom HTTP Routes
When instantiating App, developers can now pass in the property customRoutes with a value set to a collection of CustomRoute objects. Each CustomRoute must include a path, method (which can be a string or array), and a callback, as seen below:
const app = new App({
  token: process.env.SLACK_BOT_TOKEN,
  customRoutes: [
    {
      path: '/health-check',
      method: ['GET'],
      callback: (req, res) => {
        res.writeHead(200);
        res.end('Health check information goes here!');
      },
    },
  ],
});

As this was a highly requested feature, we would love any and all feedback from the community on this to ensure the solution addresses the use cases alluded to in past threads 🙂

Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.

@filmaj In regards to your points about ExpressReceiver.
It might be possible to add customRoutes support to ExpressReceiver in a backwards compatible way. It could accept the customRoutes property and then use the router under the hood to make it happen. (And also leave the existing way of defining routes in ExpressReceiver intact). Personally, I'd say ExpressReceiver has a more robust customRoute solution. It allows for adding middleware as express users like to do.
I feel okay with burying ExpressReceiver custom route in a collapsed section as Alissa has done here. If people are using ExpressReceiver, which they have to be explicit about anyways, they can follow the specific section in the Custom Routes documentation that pertains to ExpressReceiver.


[GHSA-45j8-pm75-5v8x] Path Traversal in simplehttpserver

Updates

Affected products
Description

Comments
added credits

Hey @s5dev, we don't put credits into the advisory body here. Please see https://github.com/github/advisory-database/pull/237
for a prior discussion on this topic. Is there anything else you wanted to add?

That's sad :( Have a nice day then!


TimeoutError

I'm trying to use the code to upload very little image towards my blog.
Anyway I receive always this message:
node_modules/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.js:59
void this.terminate(new Errors_js_1.TimeoutError(Waiting failed: ${options.timeout}ms exceeded));
^
TimeoutError: Waiting for selector div[data-tooltip="Insert image"] failed: Waiting failed: 30000ms exceeded
Is it normal? I have to change waiting time? or data-tooltip is not more in the code of blogger?
Thanks

can you please add headless: false to the option object ? and send what causes it to error ?
maybe you get redirected to "login" . maybe you're using different language.

Thank you very much for your response: I am not very familiar with node.js (I work in python), so I am having some difficulties.
Anyway I set headless = false in the src/index.ts file , deleted package-lock.json and make npm i image-blogger as you can see in the screenshot.
Reading your code I saw that there are some lines where it is checked if the blog language is "English". In my case it was "Italian": I set it to English, but the menu items still remain in Italian... very strange.
In the screenshot error message it's as if it doesn't find "div[data-tooltip="Insert image"]"... maybe because in the Italian version of Blogger it's called something else? The problem is that reading Blogger code with Developers tools under Chrome is not very easy. Is there any way to extract the source of the Blogger html page in an easier way and figure out what my tags are called?
Thanks for all the help you can give me!
Compliments for your code: I had had a similar idea, but I would never have known how to implement it, and on the Internet you are the only one who developed it because I looked for it everywhere.

Another thing I've noticed, is that every time I run the program, when I go to restart chrome I'm no longer logged in and I have to re-login to every website. Is this normal?

Hi,
I've tested the issue you reported on the latest versions of Chromium-based browsers and Firefox. I can confirm the issues you're experiencing. On Chromium, all logged-in sessions are lost, and on Firefox, there's an issue with disabling the CSP bypass as noted in this Puppeteer issue.
I'm planning to test on older versions of these browsers to see if the issue persists there. I'll keep you updated on my findings.
Thank you for your patience and for bringing this to my attention.

First, thank you for your help and quick responses.
I wanted to tell you that since this code would make my life much easier, I would also be willing to "fund" with (50/100 euro) any development of yours to fix the error and add an authentication check.
Can I contact you via email?

Hi,
Firstly, I want to express my gratitude for your kind words and your generous offer. Your willingness to support the development of this project is greatly appreciated. However, it's not necessary to fund this development as I'm committed to providing solutions and improving the code for the benefit of all users.
You can reach me via email at<EMAIL_ADDRESS>for any further discussions or queries.
Now, let's address the issue you're facing. Here's the solution that works with the current version:
Download the Older Version of Chromium
Navigate to the .config directory:
cd ~/.config

Download the older version of Chromium:
wget "https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2F962947%2Fchrome-linux.zip?generation=1643115368404678&alt=media" -q  --show-progress -O chrome_2f962947.zip

Unzip the downloaded file:
unzip chrome_2f962947.zip

Login to Blogger
This will open the version of Chromium that we just downloaded:
cd chrome-linux; ./chrome

Log in to your account.
Ensure the language in Blogger is set to English. If it's not, change it from the same browser.
Close the browser.

Run the following command and copy the result because you're going to need it in 'executablePath'. It should be /home/{username}/.config/chrome-linux where {username} is your username.
pwd

Now, use the following code:
import Uploader from 'blogger-image'

try {
const uploader = new Uploader(
  'https://www.blogger.com/blog/post/edit/48547680384.../207376655....', // make sure that this post is belongs to the same user you just logged-in with.
  {
    ignoreDefaultArgs: true,
    userDataDir: '/home/{username}/.config/chromium',
    executablePath: '/home/{username}/.config/chrome-linux/chrome',
    args: ['--user-data-dir=/home/{username}/.config/chromium', '--headless']
  }
);
await uploader.init();

const result = await Promise.all([
  uploader.upload('./newtest.png'), // make sure to change the path with your image.
]);

console.log(result);
uploader.close();
}catch(err){
  console.log(err)
}

I hope this helps! Also, I'm excited to inform you that I'll be releasing a new version soon that will fix this issue. The readme.md file will be updated with the necessary instructions. Stay tuned!

Hi Ahmed, what you said confirms that you are really a good person. I will test this solution as soon as possible by tomorrow.
After that I will contact you by email :)
Thank you very much great man!!!

Okay, I tried your procedure and it seems to work. Unfortunately, however, the process crashes when the English language check is done.
In fact despite the fact that I have changed the blog language to English, Blogger continues to show the menus in Italian.
So I tried changing the language of the Google account (obviously under Chromium, i.e., the browser you had me download) to English.
Plus I removed the Italian language that was being seen as additional.
My Ubuntu system is English.
Despite all this, Blogger continues to show the menus in Italian and there is no setting to change this.

I'll try looking further, but from what I understand google removed the ability to change the blog language (the menu language) a few years ago.
Tomorrow I want to try to create an account that is from the start in English and see if the menus come in English.
In the meantime I will wait for the new version and consider me as your beta tester :)
Thank you for your patience Ahmed!!
Postscript: I'll write you by email, when I've defined some work that I've to do on my blog  ;)

version: 1.1.0

I have added support for Italian. 🇮🇹
I have improved my error messages to be more clear and helpful.
I have provided instructions to download the right browser for your system.

The package will have its own browser in version 2.0.0 with an option to use yours. So you won't need to download any browsers manually. Stay tuned for the update! 😊

IT WORKS!!!!
Thanks a lot!!!
And I don't know if you've noticed that google has changed the way the image is "served".Check the URL you obtain from your program: before the filename there is a parameter "H96" indicating the height of the image.
If you change that parameter, and make it 320 or 512, the image returned by Blogger will be of higher quality.
I will continue to use and testing.
Very well!!

Sorry Ahmed for disturb you again.
I've made a fresh install on a server and this time I've got Chromium in english and I see Blogger menu in english.
Anyway I have got this error:
" throw new Error('Sorry, language is not supported\nlanguage: ' + language);
^
Error: Sorry, language is not supported
language: en-GB
at Uploader.init (file:///home/cirillo-server/Desktop/OPENROBO/blogger-image/node_modules/blogger-image/build/index.js:64:19)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async file:///home/cirillo-server/Desktop/OPENROBO/blogger-image/index.js:18:1
"
Can I help you in some way?
Thanks alot


Fix image link issue

Changelog
Added
Changed
Deprecated
Removed
Fixed

Fixed broken image link in top-level README

Security
Checklist

[x] Test
[x] Self-review
[x] Documentation

 Initial Release


Add argument for different indentations

It would be cool to add an argument to change the indentation from 4 spaces to, for example, 2 spaces.

sqlfmt is not a configurable formatter, sorry.


copy_local behaviour

In the paket.dependencies I have the following declaration:
source https://www.nuget.org/api/v2/

copy_local: false

nuget MvvmLightLibs
nuget Newtonsoft.Json
nuget NLog.Config
nuget NLog
...
nuget FluentAssertions copy_local: true
nuget NUnit copy_local: true
nuget Moq copy_local: true
...

I define global that I don't need the local copy of the libraries. I mark copy_local:true in the paket.references of the project that has the direct dependency on the library. this work very well.
All test projects need always some dependencies (NUnit, Moq etc.). I thoght if I mark them copy_local:true in the paket.depencencies this should work. But it doesn't. The references in this projects are not marked for copy local. Is this a bug or wanted behaviour?

that sounds like a bug. will check

I can reproduce

fixed in 1.26.1

Works!


Fixes bug where the ".end" class is overridden

The .end class is currently being overridden by .columns:last-child:not(:first-child) as shown by the following:
https://jsfiddle.net/anik786/qy45s94e/embedded/result/
The fixed version is as so:
https://jsfiddle.net/anik786/gc58hhcg/1/embedded/result/

This seems to be already fixed by a previous pull request


Support Marathon SSE

Since there are rumors about deprecating http callbacks and their limited throughput and performance footprint we need to consider implementing SSE support.
As @kamilchm proposed when marathon#4637 (marathon#4671) will be solved we can significantly reduce network traffic and network connections in comparision to callbacks.

We should support multiple m-c instances for HA. To do it we need to prevent them from running all at once. We already has consul cluster so we can use it to elect one running instance and suspend others. This will prevent us from having many opened  SSE connections and concurrent updates.
Here is nice post about using Consul for distributed locks

Okay, so are we going with Consul as leader-elector? Fine by me, too bad we need to code those locks from scratch.

https://github.com/minio/dsync

This appears to be a simple, but useful lib for connecting to and handling SSEs: https://github.com/andrewstuart/go-sse


[ExecuteAlways] fights with AManagedBehaviour

I would like to have a script that executes both in editormode and in playmode because it applies changes to material rend.
but with AManagedBehaviour, IUpdatable it gives me tons of error when exiting the playmode because he try to call dontdestroyonload in editormode.
I don't know if u would support it.
But if you do, an easy fix would be to have the UpdateManager as a singleton prefab to add in the scene

Hey there! Do you need for the object to be updated in edit mode, or is it just about not getting the errors?
Because not getting errors is super easy to fix, we just need to only register/unregister objects if (Application.isPlaying). But making managed updates work in editor is not so much, although it should be possible (there are nuances around DontDestroyOnLoad that makes it a little difficult to get it right in edit mode).
Not exactly related to the issue, which I'm conviced should be dealt with, but maybe using OnValidate works for your use case, instead of relying on [ExecuteAlways]. Just a thought.

OnValidate gets called only when values changes, my goal is to replicate the environment like in playmode so it's easier to create the leveldesign (light insigna that turn on and off for example wouldn't be updated with OnValidate).
I'm just about to not get the error.
So i can manually add the update in editmode. ie.
[ExecuteAlways]
public class Neon : AManagedBehaviour, IUpdatable
{
    public static readonly int NEON_INTENSITY = Shader.PropertyToID("_NeonIntensity");

    [SerializeField] private float speed = 1;
    [SerializeField] private float intensity = 1;
    [SerializeField] private CompositeAnimationCurveSo animationCurve;
    private float _animationTimePosition;
    [SerializeField] private Renderer rend;

    void Start()
    {
        rend = gameObject.GetComponent<Renderer>();
    }

    public void ManagedUpdate()
    {
        if (animationCurve != null)
        {
            _animationTimePosition += speed * Time.deltaTime;

            float oscillatingValue = Mathf.PingPong(_animationTimePosition, 1.0f);

            float animation_progress = Mathf.Lerp(0, 1, animationCurve.evaluate(oscillatingValue));

            rend.SetShaderValue(NEON_INTENSITY, animation_progress * intensity);
        }
    }

#if UNITY_EDITOR
    public void Update()
    {
        if (!EditorApplication.isPlayingOrWillChangePlaymode)
        {
            ManagedUpdate();
        }
    }
#endif
}

Ok, got it.

I'm just about to not get the error.
So i can manually add the update in edit mode. ie.

Well, that means you do want the object to be updated in edit mode. To be honest, I'd rather make UpdateManager work 100% in edit mode so that you and other people can avoid these kinds of editor-only Update hacks, which are potential sources of bug. I'll let you know when I come up with something.
In the mean time, if you want a hacky way out of the errors, you can override OnEnable and OnDisable, possibly inside a #if UNITY_EDITOR block, and only call the base implementations if the game is playing, something in the lines of:
protected override void OnEnable()
{
    if (Application.isPlaying)
    {
        base.OnEnable();
    }
}

protected override void OnDisable()
{
    if (Application.isPlaying)
    {
        base.OnDisable();
    }
}

This should work, since they are the methods that try to instantiate the UpdateManager, which in turn calls DontDestroyOnLoad.

I think an approach like this is good because doesn't affect whole editor performance as it would do applying [ExecuteAlways] on the manager.

I really don't think it would make that much of a difference, since the UpdateManager only updates objects that register themselves, such as active and enabled AManagedBehaviour. In edit mode, only objects that are also marked as [ExecuteInEditMode] or [ExecuteAlways] would be registered for updates, so it shouldn't be any worse than letting Unity update them in edit mode.

Hey @rever96, I made the UpdateManager work in edit mode, it is in the branch rc-5.1.2. I also released the 1.5.2-preview1 tag, I think OpenUPM will release this preview version automatically at some point.
I made it so that ManagedUpdate methods will be called in edit mode, so that after the fix you can drop the Update workaround. Please try it out and tell me if it works for your case.

I'm closing this as fixed by #18, feel free to reopen the issue in case the problem persists.

Hi,
sry I didn't had time to check the other branch.
why not use the main branch for this update?
Kind regards, Loris Toia

Message ID: @.***
com>

No problem! I hope it works for you, like it worked in my tests.

why not use the main branch for this update?

Making separate branches for new unreleased versions is just a way to organize the workflow. Preview releases of the new version go into the branch. When the new branch/version is considered stable, I merge into main and bump the version to a non-preview stable version and release it. If there were fixes to make on top of it, main would still be stable code, while we fixed the new version.
This is just one of the many ways to organize Git workflows, each one has its pros and cons.


Set an initial start position

Allow the ability to set an initial start position from the config.
Closes https://github.com/ghostty-org/ghostty/issues/3362
Work in progress

[ ] handle setting window position in gtk4 (current functions used were removed from gtk4)

[x] debug version working (zig build -Dapp-runtime=glfw run)

[ ] validate mac app runs

[ ] resolve existing build issues for debug version (zig build -Dapp-runtime=glfw run) from inside nix-shell

Notes
I'm considering renaming window-position-{x,y} to start-position-{x,y} for clarity

After some thinking, I think that this is the wrong approach. There shouldn't be any need to store the position in the core Surface struct or to use an apprt action to position the window. First, only the first surface that initiates the window creation should control the position of the window. If a new tab or split can affect the position of the window you'll have windows jumping back to their initial position after the user has moved them around and then creates a new tab or split.
When a new window is created it should check to see if these settings are configured and position the window at window creation time. There's no need for a message to be sent to the window at a later time.

I don't program in Swift but there should be some existing machinery from macOS's state restoration that can be reused to set the initial window position from the config.

I'm considering renaming window-position-{x,y} to start-position-{x,y} for clarity

I have no strong opinion about the name, but because existing configuration keys already use the term initial instead of start (e.g. initial-window), I suggest initial-window-position — or, as @jcollie mentioned, window-initial-position.


Signed

Signed-off-by: JnbBrandrick<EMAIL_ADDRESS>

You want to update the lab starter project? Oops!
I just need the link to your repo, in the dropbox readme.

Your repo shows the tests and user_guide_src folder, as well as the "develop only" files in its root. You have copied too much into your project root. Either my tutorial 2b is misleading, or you haven't followed it properly :(


Postgres diff doesn't include partitions?

Liquibase Version:
4.3.5
Liquibase Integration & Version: Maven, Spring Boot
Liquibase Extension(s) & Version:  4.3.5
Database Vendor & Version: Postgres 13.2
Operating System Type & Version: Windows 10
Description
Using: mvn liquibase:diff generates a diff, and works fine for most tables, but does not include partitioned tables.
Steps To Reproduce

Create a partitioned table on one server
Create a diff
Notice the diff doesn't have partition information?

Actual Behavior
Does not include partitioned tables.
Expected/Desired Behavior
Include partitioned tables.

Hi @cyraid Thanks for creating this issue.
I tried to reproduce this and failed.
Here is what I did to try and reproduce this.
Create postgres database
docker run --name posgtres132 -e POSTGRES_PASSWORD=mysupersecret -p 5432:5432 -d postgres:13.2
Create 2 databases with pgadmin
model1 database
model2 database
Use this changelog file and run liquibase update against model2
liquibase update
--liquibase formatted sql

-- changeset mikeo:partitioned-table
create table ptable (
    id bigserial,
    thisdate timestamp with time zone NOT NULL
)  PARTITION BY RANGE (thisdate);
--rollback drop table ptable

Run liquibase diff against model1
liquibase diff
Here is the liquibase.properties file I used
changeLogFile=gh1874.postgres.sql
url: jdbc:postgresql://localhost:5432/model2
username: postgres
password: mysupersecret
classpath: ./postgresql-42.2.11.jar
referenceUrl: jdbc:postgresql://localhost:5432/model1
referenceUsername: postgres
referencePassword: mysupersecret

I also tried the same configuration
with this pom.xml file as a simple example and ran
mvn liquibase:update
to add the partitioned table
OR if you previously ran with the CLI run
mvn liquibase:diff
Output from the diff (shortened for brevity)
Unexpected Table(s):
     databasechangelog
     databasechangeloglock
     ptable

This is the showstopper for us, so if it doesn't include the partitions our company can't move forward with liquibase. Sorry.

Hi @cyraid Thanks for the feedback.  Can you provide a re-createable scenario that shows the error?  I put in the comments how I tried to recreate this issue and could not recreate.  We also found that an older driver of postgresql was not returning information about partitioned tables.  What postgres jdbc driver version are you using?

It's possible, but I'll maybe see if we can try it again in the future. But for the short term it doesn't look likely. You can close if you like. I'll try to remember that we need a new postgres jdbc version in the future if we go down this path :) Take care guys.


Add ref extension methods

Summary
I could not find any proper examples on ref extension methods, hence I add them here.

Internal previews

📄 File
🔗 Preview link

docs/csharp/programming-guide/classes-and-structs/extension-methods.md
Extension Methods (C# Programming Guide)

Hi @Rageking8
Overall, this is great.
Before I approve it and merge it, let's move the code snippets into a compilable project.
That way, we verify that all our samples build.
The snippets are included using an extension like the following:
:::code language="csharp" source="./snippets/properties/Program.cs" id="UseTimePeriod":::

@BillWagner I presume there can't be more than 1 Main in a project (hence I modified the names a bit)?


Rewrite

This PR is a total rewrite and brings some bug fixes and performance improvements. It is also a breaking change.
Changes

A batch update is attempted for all non-breaking updates according to semver
All breaking updates are still performed in a sequential manner
If the batch update fails, the failed update tasks are performed sequentially to find out, which module was breaking
During a rollback, the next module update is installed in parallel
The package.json is now written in the end after the whole operation
The updtr tries to preserve the semver range style. If the style can not be preserved, it falls back to caret ranges.
This behavior can be changed by specifying a --save option
By specifying the update-to=non-breaking option, you can now choose to install non-breaking updates. It replaces the old --wanted flag
Re-design of the default reporter (it's now called dense)
Missing dependencies are now installed automatically before running npm outdated

Fixes

Fixes #14 #47 #46 #13 #51 #58
Provides a workaround for #48 by sorting all dependencies

New CLI

 Update outdated npm modules with zero pain™
 Usage: bin/updtr [options]

Options:
  --use, -u             Specify the package manager to use  [choices: "npm", "yarn"] [default: "npm"]
  --exclude, --ex       Space separated list of module names that should not be updated  [array]
  --update-to, --to     Specify which updates you want to install  [choices: "latest", "non-breaking", "wanted"] [default: "latest"]
  --save, -s            Specify how updated versions should be saved to the package.json  [choices: "smart", "caret", "exact"] [default: "smart"]
  --reporter, -r        Choose a reporter for the console output  [choices: "dense", "none"] [default: "dense"]
  --test, -t            Specify a custom test command. Surround with quotes.
  --test-stdout, --out  Show test stdout if the update fails  [boolean]
  --registry, --reg     Specify a custom registry to use
  --version             Show version number  [boolean]
  --help                Show help  [boolean]

Internal changes

All code is transpiled via Babel
The code has been rewritten to use async/await
It has been split into several small modules
Mocha, chai, Istanbul has been replaced with Jest as test runner to use snapshot testing for deep nested object structures and CLI output
We now have 294 tests with >95% test coverage
The dist is created via rollup to speed up the CLI boot time
The code is tested against real npm/yarn output (integration test)
Added AppVeyor for Windows CI tests

@matthaias ok? 😁
Please do not merge yet, because it needs to be squashed.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@fb29909). Click here to learn what that means.
The diff coverage is 97.93%.

@@            Coverage Diff            @@
##             master      #60   +/-   ##
=========================================
  Coverage          ?   97.93%
=========================================
  Files             ?       35
  Lines             ?      677
  Branches          ?      132
=========================================
  Hits              ?      663
  Misses            ?       14
  Partials          ?        0

Impacted Files
Coverage Δ

src/tasks/util/Sequence.js
100% <100%> (ø)

src/Updtr.js
100% <100%> (ø)

src/constants/filterReasons.js
100% <100%> (ø)

src/tasks/util/updateVersionRange.js
100% <100%> (ø)

src/reporters/util/msToString.js
100% <100%> (ø)

src/constants/config.js
100% <100%> (ø)

src/run.js
100% <100%> (ø)

src/reporters/util/Indicator.js
100% <100%> (ø)

src/reporters/util/pluralize.js
100% <100%> (ø)

src/index.js
100% <100%> (ø)

... and 25 more

Continue to review full report at Codecov.

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

@matthaias ok? 😁

Sure! Great job!

The updtr tries to preserve the semver range style. If the style can not be preserved, it falls back to caret ranges.
I wonder how it could be that the range cannot be preserved in some situations...

I wonder how it could be that the range cannot be preserved in some situations...

NPM allows a lot of semver range notations, like 1.2.7 || >=1.2.9 <2.0.0. These notations cannot be translated when the version has been updated.

also I believe that exact is a better default.

There are a lot of different opinions on this topic. We stick to npm's default.


[FlexFields] Bulk editor fields are very narrow.

Describe the bug
When a field has Bulk Edit set to true, the fields in the bulk editor are very narrow (width is being set to 300px).
This seems to be an existing issue with the app framework: https://github.com/contentful/ui-extensions-sdk/issues/1844
[This was raised via support email. Creating here for tracking]
To Reproduce
Steps to reproduce the behavior:

Enable Bulk Edit for multi-reference field
Open any content in the FlexFields editor (or any custom entry editor)
Click on the referenced entry
The fields in bulk editor are very narrow

Expected behavior
The fields should be displayed with default width.
Screenshots

Taking a look at this.

Hello @vipulchadda, thank you for raising this ticket.
This issue should have been resolved a few days ago, and we are unable to reproduce.  Are you still experiencing this bug?  If so, is there some more context/information you could share with us?  Perhaps the specific CSS (Maybe outside the iFrame) that might be causing this issue?
I followed these steps to reproduce, but was unable to observe the behavior described in this ticket.

create a "Parent" content type that has a "multi-references" field
create a "child" content type that will be referenced.
create 3-4 child entries.
create a single parent entry, and in the multi-references field, add the children and create a couple new child entries, using FlexFields, as well as the default entry editor.

Any information would be appreciated.

Yes, I do see this issue is resolved as well. Thank you for looking into this. Will go ahead and close this bug.

Yes, I do see this issue is resolved as well. Thank you for looking into this. Will go ahead and close this bug.

Awesome!  Glad to hear that!
Thanks!


Discussion: Provider Terms of Service representation On Chain

For the most part, the relationship between users and providers is managed off-chain. The MSA delegation system and the signature required extrinsics provide core write based approval, but doesn't manage any part of the relationship.
Early discussions of the delegation system included the idea of having a hash of the terms of service in the delegation. A provider would then need to update that delegation to move a user to the new terms of service. While liked, it presented several logistical problems. For example, there was no easy way to verify that the terms displayed to the user would match the hash. In addition to the issue of updating millions of delegations when a large provider changes their terms.
@harry-evans has proposed an idea (translated ) that resolves some of these issues such that the benefits may finally tip the scales.
Core Problem

The terms of service that an application provides to its users is a core piece of the relationship between user and provider. The terms may be against the spirit of Frequency or a group running standards on top of Frequency such as DSNP.
Terms of Service are generally ignored by users until issues arise.
Application changes in terms of service are not transparent

Potential Solution

Provider ToS should be part of the Provider approval process and available for review by all
ToS is a part of the delegation via [technical details]
Updates to ToS happen via [tbd process]
Redelegation to sign ToS changes is required

Result: ToS Acceptance is now on chain and signed by the user's wallet.
Possible Details

ToS via [IPFS, link, hash, content, etc...] part of the provider metadata
Storing it is a list of ToSs so that it is possible to generate diffs
ToS File could contain structured data with human summary and such
Non-Provider Delegation UI could show the ToS

Open and Related Questions

What are the legal structures around Terms of Service, display, and approval?

What about terms that are different depending on jurisdiction?
Does it count if the terms are "displayed" and approval collected by a wallet or wallet service?

How much should Frequency be involved with the relationship between user and provider?
How much should Frequency be involved with dictating the terms?
Tangent: If a provider doesn't want to do any delegations (a self-sovereign user for example), do they need approval in the same way a provider with delegations does?

References

EFF on Terms of Service issues: https://www.eff.org/issues/terms-of-abuse

While it does not go nearly as far as this proposal, the Consumer Reports Data Rights Protocol defines a Business Discovery Document (see the spec, §3.05.2) that provides some general metadata about a business/provider, including linking to a ToS document.
I don't think this has enough rigor in terms of immutability and change tracking for all of the potential requirements you listed, but it's possibly something to align with.

Community Call Notes for 2024-02-15

Potential Problems

What if a provider just doesn't use it or only updates it on their website?
The large cost of 600k+ delegations needing to be changed
This is very narrow gate to push a wide variety of needs and legal requirements through.

Terms based on many different criteria (location, features, etc...)

What are the incentives for a provider to update ToS on chain instead of just keeping it at the application layer?
How would/could this be enforced?

What if...

Could the ToS Signatures live off chain?
Just including in the delegation a hash/IPFS of the ToS agreed to?

Is this two problems?

How to record the provider data
Where to record the acceptance of the terms

What might this enable?

Wallet or wallet like application could display and verify acceptance instead the application.
Providers don't need to push out ToS updates over email
Wallet could detect and remove the delegation if the user doesn't accept and/or offer alternatives
User opt-in required for ToS changes

Community Call notes for 2024-03-21

Summary of the prior conversations
@harry-evans

Re: Goal

Trying to capture some of the implied external nature, the human meaning of the permissions applied

Re: Load

ToS updates could be rolled out slowly
In theory providers could support multiple ToS at once for slower rollouts

Re: How would/could this be enforced?

Currently Providers (on Mainnet) have an approval process. An option would be that updates to terms would need to be a part of the provider approval process.

Next Steps

Ask @wesbiggs to bring it up with the DSNP Advisors / Community Call

Noted re: DSNP discussion.
It might be interesting to reverse the lens through which we are considering this. If the goal is user agency and control, then shouldn't the provider be signing up to the user's terms of service?
This has a couple of interesting implications. (1) The scope of the terms that need to be captured on-chain is much narrower and better defined. The user need only define the terms under which the delegation they have authorized can access and manipulate data.  A provider might have other TOS, but those are out of scope. (2) This might better represent some sign-up processes that include optional opt-in/opt-out selections ("use my data for marketing purposes", "share my data with partners").
A user-driven TOS would give users clear, immutable records of their agreed contract. Violations of this by a provider could be easily shown to be in breach of that contract. IANAL, but I would think that would be pretty solid evidence for a class action suit, for example. If a provider wants more or different privileges from a user, they will need to request that the user sign an updated delegation record.

Closing as discussion completed for now


Unique Case-Insensitive email required for Partner Organizations

Resolves #2715
Description
Partner Organizations should have a unique email, but the check for uniqueness treated<EMAIL_ADDRESS>and<EMAIL_ADDRESS>as different emails. Now it raises an error if two partners have the same email. While we were modifying the check, we swapped the hand-rolled regex for one provided by URI.
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Tested by attempting to create a new partner agency locally with the same email and a different casing.
Created a test on the model to confirm that the same email in a different case is invalid.
Screenshots
The error when the same email with a different casing is entered:

@all-contributors add @ChaelCodes for coding


various adjustments for links, code, and headings

https://github.com/boostorg/boostlook/issues/54

remove border radius on code blocks
update/fix hover styling for links - change color and underline
bg color for code blocks
reduce spacing on Antora TOC links
reduce size of h1 and h2
remove spacing between .qbk TOC sections
spirit nav hover styles

Hi @cdw9, please merge this when you have a moment. Thank you!


Unable to override package attributes with python kubernetes.

I am able to create a subscription based on a GitHub channel that overrides package parameters (its metadata.name) by creating the below yaml with kubectl.
apiVersion: apps.open-cluster-management.io/v1
kind: Subscription
metadata:
  annotations:
    apps.open-cluster-management.io/github-branch: master
    apps.open-cluster-management.io/github-path: core-wf
  name: my-5g-core-instance
  namespace: 5g-core
spec:
  channel: gitops-chn-ns/gitops
  placement:
    clusters:
    - name: cluster1
  packageOverrides:
  - packageName: fiveg-core
    packageOverrides:
    - path: metadata.name
      value: my-5g-core-instance

However when doing the same with python kubernetes library (kubernetes==10.0.1) using the below code:
        self.api = kubernetes.client.CustomObjectsApi()
        ...
        self.api.create_namespaced_custom_object(
            group='apps.open-cluster-management.io',
            version='v1',
            namespace=namespace,
            plural='subscriptions',
            body=subscription)

the package get propagated to the target cluster (e.g. cluster1) but without having its parameters to get overriden.
I verified that the subscription CR created by the python sdk code, properly contains packageOverrides and I wonder why doesn't it get overridden with the customized name that I pass it via path: metadata.name.
My environment consists of two clusters: both v1.19.4 where open-cluster-management is installed via instructions: https://open-cluster-management.io/getting-started/quick-start/ which manages the other cluster I have.
Thanks.

I am pasting the roles of my python pod. Thanks.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: application-proxy
rules:
- apiGroups:
  - ""
  resources:
  - namespaces
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - apps.open-cluster-management.io
  resources:
  - '*'
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch

It works well now.


Local Dev Setup Issue: docker commands failing

Possibly related to this issue when first starting up the docker container:

(temp-site-web-1) django.db.migrations.exceptions.InconsistentMigrationHistory: Migration account.0001_initial is applied before its dependency users.0001_initial on database 'default'

Here is the initial output for the createsuperuser command:

docker compose run --rm web python manage.py createsuperuser
[+] Building 0.0s (0/0)
[+] Creating 1/0
✔ Container temp-site-db-1  Running                                                                                0.0s
[+] Building 0.0s (0/0)
You have 74 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): auth, db, forum, forum_attachments, forum_conversation, forum_member, forum_permission, forum_polls, forum_tracking, libraries, mailing_list, news, users, versions.
Run 'python manage.py migrate' to apply them.
Email address<EMAIL_ADDRESS>Traceback (most recent call last):
File "/venv/lib/python3.11/site-packages/django/db/backends/utils.py", line 89, in _execute
return self.cursor.execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
psycopg2.errors.UndefinedTable: relation "users_user" does not exist
LINE 1: ..."."valid_email", "users_user"."display_name" FROM "users_use...

Continuing with the next steps in the setup doc,
makemigrations fails with:

django.db.migrations.exceptions.InconsistentMigrationHistory: Migration account.0001_initial is applied before its dependency users.0001_initial on database 'default'.

migrate fails with the same message.
just test produces:

FAILED users/tests/test_urls.py::test_signup_post - redis.exceptions.ConnectionError: Error -2 connecting to redis:6379. Name or service not known.

The local site does load and is running, but just the static HTML pages.  Libraries for instance fails due to the AWS key issue #425

What is happening, is that the mailman migrations are being run in the main database, which then interferes with boost database migrations, which breaks the configuration.
Consider how the mailman3 suite is designed. Here is a quote from their mailing list "But they don't connect to 1 database.  Each component has its own database".
In the original design at least mailman core and hyperkitty would each have their own databases, even if they are on the same db server.
These products (mailman-core, hyperkitty, postorius) are somewhat complex in their own way, and keeping the structure they expect could help avoid db conflicts.

I was able to get around the issues above by removing the postgres DB from the docker container, going back to a commit roughly 4-5 weeks ago, spinning up docker where the process ran without error, and then jumping back to the latest commit.
The issue is still not resolved, but this is a way around it for now.


Ignoring revisions by username (e.g. spam) can taint following revisions

The MediaWiki dump records each revision of a page in full as a snapshot. Git records reach revision as a diff from the previous version. This becomes an issue if we try to skip unwanted revisions...
e.g. this is fine

Spam from A
Revert from B

If A is on the user block list, we skip the spam revision, and then have an empty commit from B which v1 of the script later drops. Likewise this kind of example is also fine:

Spam from A
More spam from A or A2
Revert all from B

This is also fine if there are intermediate revisions to other pages.
However,

Spam from A
Innocent edit elsewhere in the page from C
Revert from B

This time we'd record a combined commit from C which sadly includes the spam from A. Not good.

One approach is to give up on removing spam edits, and take the history as is - warts and all. This does at least credit the cleanup work fairly.
Another idea is to do a cleanup after parsing the XML into our intermediate SQLite3 database, where we can add a "hide" boolean. The idea here would be when hitting an unwanted revision, consider the next few revisions of that page, and look for a revert back to the last clean version. If found, then hide all those revisions to the page.
This would handle:

Spam from A
More spam from A or A2
Revert all from B

And also:

Spam from A
More spam from A or A2
Revert some by B
Revert rest by C

The problematic cases would would be left in the history and require manual intervention to remove.

Perhaps the best plan is leave the unwanted commits in the git history, although giving them a clear comment (e.g. "UNWANTED COMMIT") and perhaps also indicate this in the author field.
They can then be removed fairly easily with git rebase -i ... (thanks to the clear comment) possibly with --empty=drop to automatically drop the simple reverts.

The interactive rebase is working pretty well to remove spam, coupled with this to find a good preceding commit to start from:
$ git log --oneline | grep -C 1 UNWANTED

This assumes the spam accounts were all flagged before starting the XML dump to git conversion.

The default comment from a MediaWiki reversion via the interface seems to start "Reverted edits by " so this is also worth reviewing:
$ git log --oneline --grep revert -i

I am finding the rebases quite slow, but it may be partly down to the filesystem (sadly I can't run this locally on a case in-sensitive Mac).


catch circular in non extra fields

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
110

Relevant Lines:
110

💛  - Coveralls


Add the type field to 'cf domains' command.

This displays the type of router group for domains associated with router groups.
Below is the story in the routing team's tracker:
https://www.pivotaltracker.com/story/show/100981770

This PR builds on code that's been since removed from the cli; see e68ce0f. @simonleung8, can you elaborate on why @atulkc's PR was removed?

Hi, @atulkc's PR was reverted because the command is returning a poorly constructed error message to non-privileged users. A new PR is in the work to fix the issue. See #632
We will have put this PR on hold till #632 is processed.

We created a new pull request: #645 , which include #610 and #632 . Please merge #645 first . Let us know if we need to resubmit the PR.
@markstgodard @yuzhangcmu

Hi @mdelillo,
I reviewed your PR and had a hard time following it:

routerGroupsMap was being stored on cmd, which seems to be only so the unexported method getRouterTypeFromGuid would have access to it.
getRouterTypeFromGuid does a nil check on that very member to see if it should populate it, which I found surprising.
A test which says it returns an error regarding an invalid router group guid was actually asserting the response was "Failed fetching router groups".

I'd like to suggest the following change (a diff is below).
In this version populating routerGroupsMap, which is now local to the func, happens initially, and the loop only has to care about looking up the value. This makes it very easy to comprehend, since the loop isn't relying on any more methods that might do surprising things.
It also changes one of the tests to show the correct output when a domain has a guid that can't be found in routingApiRepo.
func (cmd *ListDomains) printDomainsTable(domains []models.DomainFields) {
	table := cmd.ui.Table([]string{T("name"), T("status"), T("routing")})

	routerGroupsMap := map[string]models.RouterGroup{}
	cb := func(routerGroup models.RouterGroup) bool {
		routerGroupsMap[routerGroup.Guid] = routerGroup
		return true
	}

	err := cmd.routingApiRepo.ListRouterGroups(cb)
	if err != nil {
		cmd.ui.Failed(T("Failed fetching router groups.\n{{.Err}}", map[string]interface{}{"Err": err.Error()}))
	}

	for _, domain := range domains {
		if domain.Shared {
			if len(domain.RouterGroupGuid) == 0 {
				table.Add(domain.Name, T("shared"))
			} else {
				routerGroup, ok := routerGroupsMap[domain.RouterGroupGuid]
				if !ok {
					cmd.ui.Failed(T("Invalid router group guid"))
				}

				table.Add(domain.Name, T("shared"), routerGroup.Type)
			}
		} else {
			table.Add(domain.Name, T("owned"))
		}
	}

	table.Print()
}

Thoughts?
Here's the diff, which you can apply by piping it through sed to add the trailing newline, and then tell git to apply it: pbpaste | sed  -e '$a\' | git apply --ignore-whitespace).
diff --git a/cf/commands/domain/domains.go b/cf/commands/domain/domains.go
index a23aa45..6225541 100644
--- a/cf/commands/domain/domains.go
+++ b/cf/commands/domain/domains.go
@@ -1,8 +1,6 @@
 package domain

 import (
-	"errors"
-
 	"github.com/cloudfoundry/cli/cf/api"
 	"github.com/cloudfoundry/cli/cf/command_registry"
 	"github.com/cloudfoundry/cli/cf/configuration/core_config"
@@ -14,12 +12,11 @@ import (
 )

 type ListDomains struct {
-	ui              terminal.UI
-	config          core_config.Reader
-	orgReq          requirements.TargetedOrgRequirement
-	domainRepo      api.DomainRepository
-	routingApiRepo  api.RoutingApiRepository
-	routerGroupsMap map[string]models.RouterGroup
+	ui             terminal.UI
+	config         core_config.Reader
+	orgReq         requirements.TargetedOrgRequirement
+	domainRepo     api.DomainRepository
+	routingApiRepo api.RoutingApiRepository
 }

 func init() {
@@ -83,52 +80,36 @@ func (cmd *ListDomains) fetchAllDomains(orgGuid string) (domains []models.Domain
 	return
 }

-func (cmd *ListDomains) getRouterGroupTypeFromGuid(guid string) (string, error) {
-	if cmd.routerGroupsMap == nil {
-		cmd.routerGroupsMap = map[string]models.RouterGroup{}
-		cb := func(routerGroup models.RouterGroup) bool {
-			cmd.routerGroupsMap[routerGroup.Guid] = routerGroup
-			return true
-		}
+func (cmd *ListDomains) printDomainsTable(domains []models.DomainFields) {
+	table := cmd.ui.Table([]string{T("name"), T("status"), T("routing")})

-		apiErr := cmd.routingApiRepo.ListRouterGroups(cb)
-		if apiErr != nil {
-			return "", apiErr
-		}
+	routerGroupsMap := map[string]models.RouterGroup{}
+	cb := func(routerGroup models.RouterGroup) bool {
+		routerGroupsMap[routerGroup.Guid] = routerGroup
+		return true
 	}

-	routerGroup, ok := cmd.routerGroupsMap[guid]
-	if ok == false {
-		return "", errors.New(T("Invalid router group guid"))
+	err := cmd.routingApiRepo.ListRouterGroups(cb)
+	if err != nil {
+		cmd.ui.Failed(T("Failed fetching router groups.\n{{.Err}}", map[string]interface{}{"Err": err.Error()}))
 	}

-	return routerGroup.Type, nil
-}
-
-func (cmd *ListDomains) printDomainsTable(domains []models.DomainFields) {
-	table := cmd.ui.Table([]string{T("name"), T("status"), T("routing")})
-
-	cmd.routerGroupsMap = nil
-
 	for _, domain := range domains {
 		if domain.Shared {
-			if domain.RouterGroupGuid == "" {
+			if len(domain.RouterGroupGuid) == 0 {
 				table.Add(domain.Name, T("shared"))
 			} else {
-				routerGroupType, err := cmd.getRouterGroupTypeFromGuid(domain.RouterGroupGuid)
-				if err != nil {
-					cmd.ui.Failed(T("Failed fetching router groups.\n{{.Err}}", map[string]interface{}{"Err": err.Error()}))
+				routerGroup, ok := routerGroupsMap[domain.RouterGroupGuid]
+				if !ok {
+					cmd.ui.Failed(T("Invalid router group guid"))
 				}

-				table.Add(domain.Name, T("shared"), routerGroupType)
+				table.Add(domain.Name, T("shared"), routerGroup.Type)
 			}
-		}
-	}
-
-	for _, domain := range domains {
-		if !domain.Shared {
+		} else {
 			table.Add(domain.Name, T("owned"))
 		}
 	}
+
 	table.Print()
 }
diff --git a/cf/commands/domain/domains_test.go b/cf/commands/domain/domains_test.go
index 8b03af1..28e4824 100644
--- a/cf/commands/domain/domains_test.go
+++ b/cf/commands/domain/domains_test.go
@@ -111,7 +111,7 @@ var _ = Describe("domains command", func() {
 					Expect(ui.Outputs).To(ContainSubstrings(
 						[]string{"Getting domains in org", "my-org", "my-user"},
 						[]string{"FAILED"},
-						[]string{"Failed fetching router groups"},
+						[]string{"Invalid router group guid"},
 					))
 				})
 			})

@krishicks:
I and @mdelillo refactored the code as your comment:

Rebased the master branch as there is some test error if don't rebase.
Instead put routerGroupsMap as a field of struct, just pass it as a parameter. Why we don't  populating routerGroupsMap in the function locally because if there is not any domain has RoutergroupGuid, then we don't need to populate it. So we only populate it when necessary. And we make a function to do it to separate the logic. That is one function do only one thing.
A test which says it returns an error regarding an invalid router group guid was actually asserting the response was "Failed fetching router groups".
-- We changed the test case and the code to display the right information.

Thanks.
@mdelillo  @yuzhangcmu


Add localization for Japanese

Basically it matches Japanese translation of vs code.

Thank you for the PR, @YuichiNukiyama ! I have asked on Twitter for verification of your translation since no one on the team speaks Japanese. 😄

JA speaker here, had a look, LGTM with one question: why was Russian added in the README? Is this a relevant change?

Thank you for your review. I remove ru from readme.

Thaks @yuja ! I follow your advice

@brettcannon as this has been reviewed by two other individuals, I vote to merge this PR. Will merge later today.


[WIP][GLUTEN-7639] Improve the RemoveTransitions

What changes were proposed in this pull request?
This PR proposes to improve the RemoveTransitions.
How was this patch tested?
integration tests

fix #7639


Update BalanceItem to return an array from render()

BalanceItem now returns both the balance item and a prefix. This removes the need to render BalanceItem next to BalancePrefix from a parent component.

Coverage increased (+0.07%) to 77.882% when pulling 52f7a04d3410ad54ca6db28313607b5ffe5f0c78 on elas7:react-16-array into 38ce339f92da3c3dee6a879f962b2361532c155a on ModusCreateOrg:master.


add ability to open sqlite connection with specified vfs

adds two new functions to create a connection:
open_with_flags_and_vfs() and open_in_memory_with_flags_and_vfs() that allow a speciifc sqlite VFS (https://sqlite.org/vfs.html) to be used.
The actual pass-through of the vfs is done within InnerConnection. I assume that is intended to be a private interface so I opted to change the signature of the InnerConnection open_with_flags() function to accept a third Option argument for the vfs. If that is not acceptable it could easily be refactored into a separate function.

Would you mind removing copyright headers ?

I will check on that and get back to you.

On review, we do not think the changes proposed in this PR include any copyrightable contributions, so we have removed the copyright and license notices in the file headers.


Varying dilution rate

I would like to set up a chemostat-like simulation where the dilution rate increases over time. How would i best implement this in comets? Thanks!

That's an interesting problem. Are you thinking a continuous change in rate, or step changes at specified times?
Right now there isn't a way to temporally vary the rate. It would be reasonably straightforward to chain simulations and alter the rate between them, although if this was to be done at every time step, it would be slow and I would put in a feature request, which I would get to in the next couple of months. If it is in steps, I can write a sample script which describes how to do it.

Thanks for the response. I would appreciate a help with a step-wise increase. Ideally, though the feed rate would increase exponentially over time.

Sorry for the delay, had some other priorities. Here is a python notebook demonstrating a basic step-wise increase. Hope this works as a jumping point! Let me know if you have more questions.  Sorry for the zip file, gitter won't let me upload ipynb directly for some reason.
chemostat with time varied dilution.zip
.


Update documentation for the core plugins

Fixes Danger.Systems
Ensures that we won't ship broken plugins that could break it, need to move some of this into our linter too.

          1 Error

:no_entry_sign:
```

          1 Warning

:warning:
Tests were not updated

  Generated by :no_entry_sign: danger

          1 Error

:no_entry_sign:
The core plugins are not at 100% doc'd - see:

  Generated by :no_entry_sign: danger

          1 Error

:no_entry_sign:
The core plugins are not at 100% doc'd - see:
```
Files:           4
Modules:         1 (    0 undocumented)
Classes:         4 (    0 undocumented)
Constants:       0 (    0 undocumented)
Methods:        32 (    0 undocumented)
 100.00% documented
```

  Generated by :no_entry_sign: danger

Finally.


Docker image for building the book

Provide a Docker image including all dependencies required to build the book, to avoid users and contributors having to install dependencies (well, apart from Docker).

Sure.

Working myself on this one.

Image available at:
https://hub.docker.com/r/robertoaloi/docker-thebeambook/
Source:
https://github.com/robertoaloi/docker-thebeambook


Show final result after checking GUID status

After sending request to verify contract, it returns a GUID. In many cases, returned GUID shows status as 'Fail to Verify'. Currently to check this status we need to go to https://etherscan.io/sourcecode-demo.html .
Add a command to check the guid status to keep things at one place and user-friendly.
API Reference: https://etherscan.io/apis#contracts

We should show the final result to user after processing the status of GUID. That will be much user friendly.

Also it may be that some time contract verification may go in queue for long time. So we can regularly notify user on console until it is finally verified or failed to verify. @rohitsethii

Thanks you so much for your great efforts @rohitsethii .
Closed by #20


Consolidate type checking between params and prototypes

Currently there exists two areas of parameter type checking in cmd/prototype.go and metadata/params/params.go. Since these are operating on the same parameters, we should consolidate this discrepancy.

Hmm so I want to say that this might not be possible for the following reason:
The prototype schema has clearly defined parameter types, that the prototype writer can specify. Ex: String, NumberOrString.
The component params are inferred based on the command line input or the literals in the .jsonnet param files.
--
The solution I see around this is 1) removing clearly defined types from prototypes 2) adding clearly defined types to component params.
Neither I think are feasible due to the nature of how these params are provided in each context. Thoughts @hausdorff?


Document errors

Use docstring in ErrorTypes.ts

:short-name: in https://github.com/mozilla/sphinx-js does not seems to be working with .. js:autoclass:: ErrorTypes.
So names have to be prefixed with ErrorTypes.

Done but this is quite verbose (see above comment). I'll try to debug/fix the issue in sphinx-js.

Move discussion to #29.


Ignite JHipster needs OAuth support to be refactored

With the rewrite of JHipster's OAuth support to use an external IdP, the OAuth support in this library no longer works. You should be able to use OAuth's implicit flow to get an access token from the IdP and make API calls with it in the Authorization header.
This is what I did with the Ionic Module for JHipster and it works well. I also added an AuthInfoResource that we might want to add automatically when users choose OAuth in JHipster.

I got this mostly implemented in de7bf591a80335b9eba7c04cfced63070bad3dc6 and finished up in a few later commits.  It works well, thanks for setting up the backend part.

FWIW, I was able to get https://github.com/FormidableLabs/react-native-app-auth working this week. Its example only requires you to change a few properties to switch providers. These are the same properties that come from the /api/auth-info endpoint.

I looked at a few of the libraries out there but most of them require you to install a separate native library in iOS and in Android then keep those up to date separately (on top of their npm module).  For more advanced apps that enable refresh tokens and other Oauth2 features it would be useful, but as long as I'm the only maintainer here, I plan to keep it simple and functional.


Setup Node Class A Problem

Hello,
i´m new to LoRaWAN and i want to setup a small Node based on a ATMega328 and a RFM95 (SX1276) on a breadboard.
So i connect everything and uploaded the Beelan LoRaWAN Code. I changed the DevID,nwkskey,appskey, and the config file for 868 MHz.
I only want to use Class A and unconfirmed Data Uploads to the TTN LoRa-Version1.0.3 (TTS v3 how its called nowadays).
I tried a little bit, but i can´t send messages to the TTN. Last week i also tried to setup, i was able to send one message, but no more...
Also there is a reset in the framecounter. (If the Node calls lora.update() the ATMega resets completely, i dont know why)
I was wondering if someone has the same problem and can help me to make the Node run correctly.
Best regards

Code.txt

@LoRaUser2011 I don't have that much experience with 868Mhz, only 915Mhz. to debug you would have to see if your device is sending on the correct channel

@sabas1080 the Sender sends on 868MHz, the first message is received by the gateway, but any other messages seems to be ignored.


Why the precision option change string values and not just the integer values?

I started using scss from font-awesome.
The node-sass default precision is 5
The length of the icon strings is 5
If you change the precision to lower than 5, e.g. 3, you lost your icons info, but if you leave the precision to the default value nothing change. My question is:
Why the precision option change string values and not just the integer values?
My ENV

Nodejs 6, Grunt, grunt-sass, windows.

I an unable to reproduce this. Please provide a copy-pastable reproduction.

I trying to reproduce the behavior again, but without success. After some searching I think there is a link between https://github.com/sass/sass/issues/1395 about the output codification and https://github.com/sass/node-sass/issues/1095 that generate some condition not everytime. For watching files I use grunt-contrib-watch with connect-livereload.

Closing this since it appears to be a Sass language feature request.


I migrated the project to the blazor server by myself using a workaround.

this link as follows
https://github.com/neozhu/CleanArchitectureWithBlazorServer

Nice! When I found this project I was hoping it would have a Blazer Server version also, nice contribution! I will be checking it out right now.


Avoid name collisions in internal implementation details

I have been doing some experiments with different packaging of System.Private.* and Runtime.Base. This is a set of good changes that I have made along the way - mostly to avoid name collisions between internal implementation details of different .dlls.

@smosier PTLA

LGTM


Replace KeyGenerator interface with concrete implementation

fixes #513

Hi Tom, thank you so much for your dedication towards improving the maintainability of our code base! I left few comments on the PR.


Renamed CMakeLists.txt

I would like to humbly offer this PR to fix an issue I got while trying to get it to build on Ubuntu. It seems the CMakeLists.txt filename had invalid casing for CMake to detect it.
Perhaps I could write something about how to set it up on Linux as well.

Hello @DaveVdE. I've made a mistake of filename and haven't noticed it. Great thanks for this.
I'll appreciate if you also apply same fix for the file under samples/spdif_to_i2s_32b/? Thanks in advance.

Thanks for quick action. I just go for merge. Thanks for the PR again.


Updated for v0.9.0

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@ocefpaf - fire when ready.


[Fix #6100] Fix a false positive in Naming/ConstantName cop

Fixes #6100.
This cop would register an offense when rhs is a conditional expression like the following code:
# foo.rb
Lol = if true then Foo else Bar end

$ rubocop --only Naming/ConstantName foo.rb
Inspecting 1 file
C

Offenses:

foo.rb:1:1: C: Naming/ConstantName: Use SCREAMING_SNAKE_CASE for constants.
Lol = if true then Foo else Bar end
^^^

1 file inspected, 1 offense detected
$

But the docs say

To avoid false positives, it ignores cases in which we cannot know for certain the type of value that would be assigned to a constant.

This PR fixes the false positive.

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run rake default. It executes all tests and RuboCop for itself, and generates the documentation.

I think this needs a deeper look: Lol = if inital_condition then "string" else "other string" should still be an offense

Nice! This is a great start!
@robotdana is correct. We should check the conditional branches to make sure they contain constants. Unfortunately there is no straightforward way of enumerating the branches right now. (Parser nests these in a less intuitive way.)
I actually looked at this two days ago, and am planning to add IfNode#each_branch and IfNode#branches soon. That might not be until next month though.

@robotdana @Drenmi
Thanks for your feedbacks and sorry for my lack of consideration :bow:

I actually looked at this two days ago, and am planning to add IfNode#each_branch and IfNode#branches soon. That might not be until next month though.

That sounds good 😃  I'd like to try to add that APIs to check conditional branches more deeply.

@Drenmi
Hi, I've added IfNode#branches and IfNode#each_branch APIs, and using that APIs, made the cop check whether conditional branches contain a constant (f051d67).
$ cat good.rb
Lol = if true then Foo else Bar end
$ bundle exec exe/rubocop --only Naming/ConstantName good.rb
Inspecting 1 file
.

1 file inspected, no offenses detected
$

$ cat bad.rb
Lol = if true then 'foo' else 'bar' end
$ bundle exec exe/rubocop --only Naming/ConstantName bad.rb
Inspecting 1 file
C

Offenses:

bad.rb:1:1: C: Naming/ConstantName: Use SCREAMING_SNAKE_CASE for constants.
Lol = if true then 'foo' else 'bar' end
^^^

1 file inspected, 1 offense detected
$

I'd appreciate it if you could give me some feedback.

I rebased to resolve the CHANGELOG conflict.

Hi, I've added IfNode#branches and IfNode#each_branch APIs, and using that APIs, made the cop check whether conditional branches contain a constant.

Hi, @tatsuyafw. Fantastic work! This looks great. 🙂

Rebased.

Ping @bbatsov.

Rebased again.

Thanks!


Codecov Report

Merging #1474 (ce97b5d) into main (23972b5) will decrease coverage by 0.03%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #1474      +/-   ##
==========================================
- Coverage   65.98%   65.94%   -0.04%
==========================================
  Files         159      159
  Lines       29757    29772      +15
==========================================
  Hits        19634    19634
- Misses      10123    10138      +15

Note - We have disabled Mergify - so I don't believe merge when green works anymore. However, github has a thing now to auto merge when all criteria are met (essentially the same thing) - It is the "Squash and Merge" button before the criteria are met. Will merge for you... unless we want to wait till after testing session?


travis CI

Any reason why the Go unit tests couldn't be run through travis CI?

Go test coverage via Coverals might be nice too :smile: