Implement support for multipart requests

This adds support for requests with the type multipart/form-data to the BodyReader. The solution has also been discussed in #49 and (mainly) consists of adding an as_multipart method to BodyReader and a multipart cargo feature that toggles it.
The changes here breaks the from_reader method on BodyReader, which is really an internal method. I would like to consider it highly unstable for now, so this is still a minor change.
Closes #49

This looks pretty good, the only recommendation I would give in general is maybe consider putting the multipart stuff behind a feature so people can opt-out if they want. It can be on by default, I just think people would appreciate having the option.

Good point. Its not really intrusive, but it does come with a small runtime overhead. Being able to turn it off sounds good. Thank you for your advice :smile:
I'll look into this and why it breaks on Windows (possibly a Rust version issue) as soon as possible.

Hyper added SSL support and it's a bit broken cause it needs libopenssl. I have it installed but it still doesn't work. Check my Cargo.toml to see how I made it work without disabling SSL entirely.

I have set it up to download and install OpenSSL, so that's no problem (except for the occasional version change). This break is caused by winapi not finding std::os::raw. I have been a bit conservative when it comes to what Rust version I test with, and decided to stay at 1.0.0 until I'm forced to upgrade.

Oh, wow. I use a nightly and upgrade whenever I think it's prudent. It's okay to use nightlies because as long as you don't have any #![feature(...)] annotations in your crate, it is basically guaranteed to work on the latest stable release. And you can always configure Travis CI to check against both the nightly and release branches (and beta too if you care that much).

I'm usually following stable, but I thought that I should make this build as far back as possible without sacrificing functionality and so far so good, until today. It wasn't really a promise, but I didn't want to break it unless I had to. Seems like it's finally time to bump the lowest supported version for Windows.

I think I managed to include all the suggested changes. The only thing left, then, is a proper description of as_multipart with an example (unless something else comes up).

I think this is it, unless I have been too distracted and missed something... What do you think @cybergeek94?

I have a PR on multipart waiting for Travis CI checks to pass: https://github.com/cybergeek94/multipart/pull/19.
It doesn't break the server API but it introduces some much-needed fixes. I recommend testing against it once I merge it.
Additionally, I might just go ahead and refactor out HttpRequest::is_multipart()``, and rename boundary()tomultipart_boundary()to make the semantics clearer. Since this would be a breaking change, it'd necessitate bumping the version to0.3`. I'd also take this opportunity to fix a nit I've had with the client API for a while now.

Sounds good. Just notify me when 0.3 is ready and I'll make the change.

0.3.0 is uploaded to crates. PR: https://github.com/cybergeek94/multipart/pull/20

Oh, that was quick :smile: I'll update it in a moment...

And there it is!

Ok, that's it. This is done. Thank you, @cybergeek94, for helping me reviewing it! It has been really helpful :smile:
@homu r+

:pushpin: Commit e8acf52 has been approved by Ogeon

:hourglass: Testing commit e8acf52 with merge b014b4f...

:sunny: Test successful - status

:+1:


Switch from rustc-serialize to serde

Serde is where the things happen today, so it would be awesome to switch to serde here.

I'd wait for proc_macro to stabilize (it should be stabilized in Rust 1.15.0), so we can use stable Rust.

Now that 1.15 is out with proc_macro, I've started on an implementation here. There are still a few helpers that should be moved somewhere more sensible.
I'm not sure if that implementation is compatible with the current output format ... the serialization isn't used internally, so I'm not sure what the intended usage is.


Block signing key fails with R1 keys

Description
When a producer schedule includes a producer with an R1 key, blocks signed and pushed to the network the signature fails to verify:
3132994ms thread-0   chain_controller.cpp:254      _push_block          ] Failed to push new block:
3020000 block_validate_exception: block validation exception
Incorrect block producer key: expected EOSR14yFnKuAQyM9XziqJWhbr2nF2scfYESh9YmuBqiqtQtzAE2UdsA but got EOSR15i7ELS4HgwToNu7zYWDiNAKtq58aGGoBMon3tt7DwMFNDx6WBA
    {"e":"EOSR14yFnKuAQyM9XziqJWhbr2nF2scfYESh9YmuBqiqtQtzAE2UdsA","a":"EOSR15i7ELS4HgwToNu7zYWDiNAKtq58aGGoBMon3tt7DwMFNDx6WBA"}
    thread-0  chain_controller.cpp:1422 validate_block_header

    {"block_header(next_block)":{"previous":"00000537c187bc63de15f8ea2d8be695810d9e7d03c560a5d2f49e3cd7cc92dc","timestamp":"2018-04-09T14:52:13.000","transaction_mroot":"aa356815d0d1d8ce3a153d12ae8672a9f25eca05fb7f9328ed8a3a5d19a0e065","action_mroot":"94cb32371c4da45620baab5893b8bbf781c32fa32b459dd23eaa60762ca26b89","block_mroot":"294c5f8b6ce15d8b99002858b98b691aba3cab27947ef4a6a234a6613a6cf887","producer":"spoon.prod","schedule_version":2}}
    thread-0  chain_controller.cpp:1435 validate_block_header

    {"next_block.block_num()":1336}
    thread-0  chain_controller.cpp:957 __apply_block
3132994ms thread-0   net_plugin.cpp:2313           handle_message       ] block_validate_exception accept block #1336 syncing from matt-witherspoon-mbp.local:4444 - fb13e56

Acceptance Test Criteria

[ ] Block producer with R1 pubkey as block signing key can produce a block which is validated by the network

Unit test https://github.com/EOSIO/eos/pull/2470 is added to proof that the issue is solved


Add x-ms-arm-id-details extension to select resources

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[x] Other, please clarify: Document ARM ID references for a few key services:

When are you targeting to deploy the new service/feature to public regions? N/A
When do you expect to publish the swagger? N/A
If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[x] No refresh required for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

This adds some new x-ms-arm-id-details extensions to various RPs Swagger for fields that are ARM references. This is not comprehensive and may not cover all references in all Swaggers. The intent is to bootstrap some important references for some important resources. See https://github.com/Azure/autorest/pull/4150 and the extension documentation. Where there were multiple Swaggers for a service all less than ~1yr old, I made the update for all of the Swaggers within the last year, not just the latest.
I will be working with @leni-msft on linter rules that will help improve the quality of this annotation across all service Swaggers, this is just a starting point.

It looks like may need to fix the model validator to understand this new format:

message: 'validateOperations - ErrorMessage:unknown format "arm-id" is used in schema at path "#/properties/storageAccountId".ErrorStack:Error: unknown format "arm-id" is used in schema at path "#/properties/storageAccountId"\n' +
'    at Object.generate_format [as code] (/home/vsts/work/_tasks/AzureApiValidation_5654d05d-82c1-48da-ad8f-161b817f6d41/0.0.26/private/azure-swagger-validation/azureSwaggerValidation/dist/main.js:50415:15)\n' +
Validating x-ms-examples in specification/batch/resource-manager/Microsoft.Batch/stable/2021-01-01/BatchManagement.json

It also looks like the breaking change detector is thinking that this format change is breaking. AFAIK it is not.

I will split this PR up into multiple PRs (per-service) once we've resolve the issues with the linters

Waiting for the UP deployment that resolves the check failures.

/azp run

/azp run

This has been superceded by the PRs mentioned above


Preprocess dataset size fix

Description
This PR fixes the obscene disk usage when preprocessing datasets. this is mostly during the tokenization map step. By keeping this step completely in memory, it solves ALL the additional disk requirements (which is as much as 10x). Additionally, when running the -m axolotl.cli.preprocess sometimes it would rely on the cache, but since pre-processing is an explicit step, the expectation is that it should ignore the cache in most cases.

also, when running training, make sure dataset_prepared_path is set

also, when running training, make sure dataset_prepared_path is set

Do you mean when loading from cache or we need it all the time now?

Does this mean, that cli.preprocess now loads from cache?

the opposite, pre-process always skips the cache and overwrites it

also, when running training, make sure dataset_prepared_path is set

Do you mean when loading from cache or we need it all the time now?

it's more of a reminder to make sure you use that when you've pre-processed the data.


Make the Kick Button funcional

Make the Button for kicking one Client in the Playerlist functional for the Host

Done in 35d4b34


Visual Glitch when creating a window on FullScreen on MacOS

Describe the bug
When we create a window while on FullScreen on MacOS there is a visual glitch that makes the new window appear surrounded in a black screen. See attached screenshots.
To Reproduce
Steps to reproduce the behavior:

Clone https://github.com/DavidMendesOS/AvaloniaWindowFullScreenGlitch
Run the following command to be able to open the app in Mac:
chmod +x WindowGlitch_Avalonia_0.10.8.app/Contents/MacOS/WindowGlitch
Open the app in MacOS
Toggle FullScreen
Click the Show Window button

Expected behavior
Expected behavior would be the Window being overlayed on top of the original FullScreen Window. See attached image
Screenshots
(Ignore the diagonal line - That is an issue with the screenshot and cannot be seen normally)
Bug:

ExpectedBehavior:

Desktop (please complete the following information):

OS: [Mac Monterey 12.1]
Version Avalonia 0.10.8

Additional context
Only managed to reproduce after bundling the Mac App. Running it normally via Rider does not exhibit any issues.
I couldn't replicate the same behavior on Avalonia 0.10.7. Only when bumping from 0.10.7 to 0.10.8.
Noteworthy is the fact that it only works on 0.10.7 when setting SystemDecorations has SystemDecorations.BordersOnly.
With the default value for SystemDecorations the bug occurs both on 0.10.7 and 0.10.8.

Looks similar to https://github.com/AvaloniaUI/Avalonia/issues/6866 which should have been fixed in 0.10.11.

The difference here is that in the repro, the secondary window isn't being opened as a child window. #6867 fixed this for child windows but when a non-child window is opened, it's treated as a new "document" window and so a new fullscreen desktop is created.
Is it intentional that the window is being created as a non-child?

Closing this after private discussion - opening the window as a child is the solution.


deprecate rkt

As rkt upstream is now archived, let's switch to systemd-nspawn and/or docker.
@alban had a branch for this that can serve as a reference.

I'll close as a duplicate of #720.

weird that didn't show up when i searched for "rkt" :thinking:
thanks tho


Add broadcasting capabilities

Presumably we want to follow something very similar to how bumpy does broadcasting.

Probably something along the lines of before every operation, we check if we need to broadcast.


Support types with a space like "new feature".

You can pass this to mosaic like:
--types "bug,story,new feature"
and it gets passed on to Jira like:
TYPE IN ("bug","story","new feature")

Looks good to me, feel free to merge (I think you have permissions to do that now)


Why cannot we generate shortIDS with os.urandom and base64?

>>> import os, base64
>>> base64.b64encode(os.urandom(6))
'TKmj0DI4'

To get a response regarding what is special about this approach to generating an ID, you might want to post this where it was created: https://github.com/dylang/shortid

The version you've pointed out is in nodejs, here I am just fixing the Python implementation. However this solution might also works with Node :+1:

This library is a port of an ID generation strategy that was invented in NodeJS. Your question is essentially *Why generate the ID this way, when you can do it simpler this way?"
I would be careful about considering using the standard Math library random() function as the basis for a unique ID. I am not a crypto specialist or anything, but I have read enough articles about the theory to know that the standard random() functions in most languages do not generate a high degree of randomness. For a table id, it probably is good enough, but I get the feeling that some of the techniques used in ShortID are to support better randomness as well as improved randomness within clusters.
If you want to have the author of this strategy explain why it works the way it does and how it compares to just using random() with base64 encoding, I would ask dylang.

I have read enough articles about the theory to know that the standard random() functions in most languages do not generate a high degree of randomness.

Yes that's exactly why I would like to us the urandom function instead.

ShortID produces an ID between 7 and 14 characters,

This is really strange, you should be able to define the number of bytes you want for your scope with regards to your collection size but we could add a random from 5 to 9 bytes.

Sorry, I am not familiar with Python, but I see now that os implies operating system, so it seems that what you are recommending is the Linux urandom function? This (crazy long) article says that urandom is a valid crypto-based random generator, but I suppose this means it only works on Linux?

No Python os.urandom method has bindings for all operating systems.

I am going to reiterate my original point and sign off this discussion. This was never meant to be a critique of the method you are proposing (which I am sure is fine). It was meant to highlight the fact that this repo (which I have nothing to do with) is a port of a specific ID generation strategy that was authored somewhere else (https://github.com/dylang/shortid).

Yes I have got that thanks :) I will try to get it addredded there as well.

I did some math and here is what I found: https://github.com/dylang/shortid/issues/60#issuecomment-190651009

For the record here is a piece of Python script that I use to generate shortIDs:
It is based on cryptographic random bytes.
import base64
import os
import random

def shortid(nb_bytes=6):
    return base64.urlsafe_b64encode(
        os.urandom(nb_bytes)).decode('utf-8').rstrip('=')

class ShortId(object):
    # From 7 to 14 characters: Up to 64^7 + 64^8 + ... + 64^14
    def __init__(self, min_bytes=5, max_bytes=10):
        self.min_bytes = min_bytes
        self.max_bytes = max_bytes

    def generate(self, nb_bytes=None):
        if not nb_bytes:
            random.seed = os.urandom(1024)
            nb_bytes = random.randint(self.min_bytes, self.max_bytes)
        return shortid(nb_bytes)

Thank you for the interest in my fork! I'll dive into your changes and discussion in a few days, sorry don't have enought time. At this moment I think that this is a good change, but not sure about the base64.

Hello @corpix base64 is just another name for the alphabet you are using.

Sorry for taking so much time to answer.
Thank you for this great thread, I am starting to think that solution that involves os.urandom is more reliable. But I don't like an idea to use base64 because of the extra characters it requires, I know, there is altchars kwarg, but I think that more clean way is to implement encoding from the scratch.

I have closed #2, but I still think that urandom is better than time.time()(tracking this in #7), will move in this direction in future releases.
Thank you.


Update label when options are changing

I have a dropdown with options, where the options are depending on another dropdown.
When I select a value from a dropdown with transport options it get some different travel length, where part of the label is night (nætter) if the transport method is self-drive (kør-selv) otherwise days (dage).

But when changing to another transport option with the same values it doesn't update the label although the options are correct, but it does update the labels if the values are different.

I had the same issue with a regular select and angular bindings if the bindings were oneway, but if the bindings were twoway it did work. So I am wondering if this is using oneway binding on this?
Is there another way to ensure the label is updated?
In the last example the option 8 dage is selected, but the filter option label doesn't match this.

I first tried without title-tpl attribute, but it then had an empty value and didn't seems to fallback to config settings, when the search cookie (an object) was empty.
var app = angular.module("myApp");

app.requires.push('nya.bootstrap.select');

app.config(['nyaBsConfigProvider', function (nyaBsConfigProvider) {
    nyaBsConfigProvider.setLocalizedText('da-dk', {
        defaultNoneSelection: 'Vælg...',
        noSearchResult: 'Intet resultat',
        numberItemSelected: '%d element(er) valgt',
        selectAll: 'Vælg alle',
        deselectAll: 'Fravælg alle'
    });
    nyaBsConfigProvider.useLocale('da-dk');
}]);

<ul class="nya-bs-select show-menu-arrow ng-cloak" data-ng-model="search.dage" data-size="15" deep-watch="true" data-ng-change="updateCustomDropdownDays(search)" title-tpl="{{getTravelDaysLabel(dageObj, search.dage, search.transport, '@Umbraco.GetDictionaryValue("Days")', '@Umbraco.GetDictionaryValue("nights")')}}">

          {{((search.transport != 'DKK' ? addADay(dage) : dage) + ' ' + (search.transport != 'DKK' ? '@Umbraco.GetDictionaryValue("Days")' : '@Umbraco.GetDictionaryValue("nights")'))}}

To solve this I use the title-tpl:
$scope.getTravelDaysLabel = function (arr, days, transport, daysLabel, nightsLabel) {
        var name = "Vælg...";
        angular.forEach(arr, function (value, key) {
            if (value === days) {
                var firstPart = (transport != 'DKK' ? $scope.addADay(days) : days);
                var secondPart = (transport != 'DKK' ? daysLabel : nightsLabel);
                name = firstPart + ' ' + secondPart;
            }
        });
        return name;
    };

Although all of the parameters in the function getTravelDaysLabel return the correct values based on transport code is DKK or not, it doesn't update the special title label, when the actual values are not changed (only the option values are updated).
So e.g. with values like 3, 4, 5 and transport code DKK, then the options would be:
"3 nætter (nights)", "4 nætter (nights)", "5 nætter (nights)", but for other transport codes, it would use the same values, but the labels have +1 in the number: "4 dage (days)", "5 dage (days)", "6 dage (days)".
So the options are updated correct, but not the label/title.

Does it somewhere has a oneway binding on the filter option label?

maybe angular 1.x cannot execute functions in evaluate brackets twice? when in oneway binding, it means it can only observe an expression value changes...
An advice is to simplify your option expression like using a temporary variable.


Go test: spec and module parsing

Codecov Report

Merging #15 (86a5d26) into main (031f2e2) will not change coverage.
The diff coverage is 0.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@          Coverage Diff          @@
##            main     #15   +/-   ##
=====================================
  Coverage   0.00%   0.00%
=====================================
  Files          7       7
  Lines        630     638    +8
=====================================
- Misses       630     638    +8

Impacted Files
Coverage Δ

sitreps_client/unit_tests.py
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


pr_marker - build a toolchain

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves #NNNNN, fix apple/llvm-project#MMMMM.

@swift-ci build toolchain


systemd service definition for Debian package

Distribute the Debian package with with systemd service definition file instead of init.d script.
For example:
[Unit]
Description=Shadowsocks Server
After=network.target

[Service]
ExecStart=/usr/bin/shadowsocks-server -c /etc/shadowsocks/config.json
User=nobody
Group=nogroup

[Install]
WantedBy=multi-user.target

This is much easier to understand, review and integrates well with systemd ecocystem, like systemctl, journalctl etc. :)

This actually works! Put the above code into /usr/lib/systemd/system/shadowsocks.service and enable + start the service:
systemctl enable shadowsocks
systemctl start shadowsocks

You can verify it running using journalctl -u shadowsocks

Yes, I'm doing this way, that's why I provided the script above.
I'm proposing to include the systemd configuration to distribution.

my config (I use port 443)
[Unit]
Description=shadowsocks-go server
After=network.target

[Service]
Type=simple
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
ExecStart=/usr/bin/ss-go-server -c /etc/ss-go/config.json

[Install]
WantedBy=multi-user.target


Update README.md

Fix coveralls badge

Coverage remained the same at 72.072% when pulling a688d02e6753dddd8dea8aff3a9f38e5afbfe132 on Zellius-readme-patch into ebd4bef578971dcb653351e682ef62dba11516cb on master.


⚠ Bofrost.es has degraded performance

In 22a273e, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1378 ms

Resolved: Bofrost.es performance has improved in e8de5b9 after 8 minutes.


UnknownError: Error forwarding the new session Empty pool of VM for setup Capabilities [{count=1, browserName=chrome}]

Hello everyone,
I am trying to run protractor tests from jenkins which is installed on AWS.
I have protractor.config.js file which is as below:
exports.config = {
allScriptsTimeout: 11000,
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['*.spec.js'],
capabilities: {
'browserName': 'chrome'
},
resultJsonOutputFile: 'test/protractor/protractor.log.json',
framework: 'jasmine',
jasmineNodeOpts: {
// defaultTimeoutInterval: 60000
}
}
Now In jenkins shell script I am passing two command as below:
UI/node_modules/protractor/bin/webdriver-manager start   ( to start the webdriver )
protractor UI/test/protractor/protractor.conf.js  ( to run the tests).
The jenkins workspace has the latest git code and on running the jenkins job, getting error as :
10:11:40.629 WARN - Failed to start: SocketListener0@<IP_ADDRESS>:4444

Running as a standalone server:
Usage: java -jar selenium-server.jar [-interactive] [options]
-port : the port number the selenium server should use
(default 4444)
-timeout : an integer number of seconds we should allow a
client to be idle
-browserTimeout : an integer number of seconds a browser is
allowed to hang
-interactive: puts you into interactive mode.  See the tutorial for
more details
-singleWindow: puts you into a mode where the test web site
executes in a frame. This mode should only be selected if the
application under test does not use frames.
-profilesLocation: Specifies the directory that holds the profiles
that java clients can use to start up selenium.  Currently
supported for Firefox only.
-forcedBrowserMode : sets the browser mode to a single
argument (e.g. "_iexplore") for all sessions, no matter what is
passed to getNewBrowserSession
-forcedBrowserModeRestOfLine : sets the browser mode to
all the remaining tokens on the line (e.g. "_custom
/some/random/place/iexplore.exe") for all sessions, no matter what
is passed to getNewBrowserSession
-userExtensions : indicates a JavaScript file that will be
loaded into selenium
-browserSessionReuse: stops re-initialization and spawning of the
browser between tests
-avoidProxy: By default, we proxy every browser request; set this
flag to make the browser use our proxy only for URLs containing
'/selenium-server'
-firefoxProfileTemplate : normally, we generate a fresh empty
Firefox profile every time we launch.  You can specify a directory
to make us copy your profile directory instead.
-debug: puts you into debug mode, with more trace information and
diagnostics on the console
-browserSideLog: enables logging on the browser side; logging
messages will be transmitted to the server.  This can affect
performance.
-ensureCleanSession: If the browser does not have user profiles,
make sure every new session has no artifacts from previous
sessions.  For example, enabling this option will cause all user
cookies to be archived before launching IE, and restored after IE
is closed.
-trustAllSSLCertificates: Forces the Selenium proxy to trust all
SSL certificates.  This doesn't work in browsers that don't use the
Selenium proxy.
-log : writes lots of debug information out to a log
file and disables logging to console
-logLongForm: writes information out to console in long format (for
debugging purpose)
-htmlSuite    : Run a
single HTML Selenese (Selenium Core) suite and then exit
immediately, using the specified browser (e.g. "*firefox") on the
specified URL (e.g. "http://www.google.com").  You need to specify
the absolute path to the HTML test suite as well as the path to the
HTML results file we'll generate.
-proxyInjectionMode: puts you into proxy injection mode, a mode
where the selenium server acts as a proxy server for all content
going to the test application.  Under this mode, multiple domains
can be visited, and the following additional flags are supported:
-dontInjectRegex <regex>: an optional regular expression that
  proxy injection mode can use to know when to bypss injection
-userJsInjection <file>: specifies a JavaScript file which will
  then be injected into all pages
-userContentTransformation <regex> <replacement>: a regular
  expression which is matched against all test HTML content; the
  second is a string which will replace matches.  These flags can
  be used any number of times.  A simple example of how this could
  be useful: if you add "-userContentTransformation https http"
  then all "https" strings in the HTML of the test application will
  be changed to be "http".

This synopsis lists options available in standalone role only. To
get help on the options available for other roles run the server with
-help option and the corresponding -role option value.
java.net.BindException: Selenium is already running on port 4444. Or some other service is.
at org.openqa.selenium.server.SeleniumServer.start(SeleniumServer.java:509)
at org.openqa.selenium.server.SeleniumServer.boot(SeleniumServer.java:321)
at org.openqa.selenium.server.SeleniumServer.main(SeleniumServer.java:240)
at org.openqa.grid.selenium.GridLauncher$1.launch(GridLauncher.java:58)
at org.openqa.grid.selenium.GridLauncher.main(GridLauncher.java:127)
Selenium Standalone has exited with code 0

protractor UI/test/protractor/protractor.conf.js
Using the selenium server at http://localhost:4444/wd/hub
[launcher] Running 1 instances of WebDriver

/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:108
var template = new Error(this.message);
^
UnknownError: Error forwarding the new session Empty pool of VM for setup Capabilities [{count=1, browserName=chrome}]
at new bot.Error (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/error.js:108:18)
at Object.bot.response.checkResponse (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/atoms/response.js:109:9)
at /usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:160:24
at [object Object].promise.Promise.goog.defineClass.invokeCallback_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:1337:14)
at [object Object].promise.ControlFlow.goog.defineClass.goog.defineClass.abort_.error.executeNext_.execute_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2776:14)
at [object Object].promise.ControlFlow.goog.defineClass.goog.defineClass.abort_.error.executeNext_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/../webdriver/promise.js:2758:21)
at goog.async.run.processWorkQueue (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/async/run.js:124:15)
at process.tickCallback (node.js:364:9)
From: Task: WebDriver.createSession()
at Function.webdriver.WebDriver.acquireSession (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:157:22)
at Function.webdriver.WebDriver.createSession (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:131:30)
at [object Object].Builder.build (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/builder.js:445:22)
at [object Object].DriverProvider.getNewDriver (/usr/lib/node_modules/protractor/lib/driverProviders/driverProvider.js:42:27)
at [object Object].Runner.createBrowser (/usr/lib/node_modules/protractor/lib/runner.js:190:37)
at /usr/lib/node_modules/protractor/lib/runner.js:280:21
at _fulfilled (/usr/lib/node_modules/protractor/node_modules/q/q.js:834:54)
at self.promiseDispatch.done (/usr/lib/node_modules/protractor/node_modules/q/q.js:863:30)
at Promise.promise.promiseDispatch (/usr/lib/node_modules/protractor/node_modules/q/q.js:796:13)
at /usr/lib/node_modules/protractor/node_modules/q/q.js:556:49
[launcher] Process exited with error code 1

Hi there,
Please format your issue according to the issue template and properly format your code blocks (otherwise they are very difficult to read).
My suspicion is that this is an issue with your Jenkins setup and not Protractor. If that is the case, your question is better asked on StackOverflow, Gitter, or in a jenkins specific channel.

java.net.BindException: Selenium is already running on port 4444. Or some other service is.
I agree with @NickTomlin that this is probably a setup problem with the job and would be better on StackOverflow, Google Group discussion list, or Gitter. Either you have an existing selenium already running on port 4444 (maybe your jobs are running concurrently and every job launches webdriver), or a service is running on port 4444.

Any solution for above question?


tutorial error

I wrote a demo according to the official guide(https://docs.libp2p.io/tutorials/getting-started/javascript/), but an error occurred in terminal

Version:

"dependencies": {
    "libp2p": "^0.35.6"
  },
  "devDependencies": {
    "libp2p-mplex": "^0.10.5",
    "libp2p-noise": "^4.0.0",
    "libp2p-tcp": "^0.17.2",
    "multiaddr": "^10.0.1"
  }

node.js version: v14.18.2
npm version: v6.14.15
Now, i do not want to upgrade the version of node.js and npm, is there any solution ?

Platform:

 macOS 11.6
Severity:

High
Description:

This is the error by caught in terminal:
 TypeError [ERR_INVALID_OPT_VALUE]: The value "jwk" is invalid for option "publicKeyEncoding.format"
Steps to reproduce the error:

This is my demo repo:  https://github.com/zhaoyiming0803/test-libp2p

I get the same error

Hey folks,
Thanks for reaching out. From 0.35 libp2p is only supported using Node15+ https://github.com/libp2p/js-libp2p/releases/tag/v0.35.0
Per https://nodejs.org/en/about/releases/#releases we are only supporting the Active releases of libp2p. Apologies for the inconvenience and let me know if this is a problem with a newer version of Node. Closing for now, but feel free to reopen

@vasco-santos I am having the exact same error still, on a fresh install of the demo project using node v16.5.0, both on Windows and Ubuntu.
Also tested node 17, same result. any clues what might it be?


Adding Leena to the Website

This is a simple PR to add @LAlmehlisy to the project details - it also adds more details to the description of the project!

Looks good. Thanks a lot @BatoolMM


Upgrade go to 1.21

@pravinpushkar could you please resolve the conflicts?

@pravinpushkar could you please resolve the conflicts?

yes, I will work on this.


Possible error

Shouldn't the commentary for "Custom topics per Azure subscription" under the limits say that event domains support 100,000 topics rather than 10000? At the very least, the thousands should be comma separated.
[Enter feedback here]

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

ID: 7e29b6cc-f1c7-fb30-f0da-e043ec5903d6
Version Independent ID: f47e660a-b09e-10c5-8f6b-c8c51f25bf4c
Content: Quotas and limits - Azure Event Grid - Azure Event Grid
Content Source: articles/event-grid/quotas-limits.md
Service: event-grid
GitHub Login: @spelluru
Microsoft Alias: spelluru

Thank you for your feedback! We have assigned this issue to the author to review further and take the next course of action.


Validate & generate responses in templates

The templates should all validate responses for their respective lambda event types and if HTTP focused, return valid HTTP responses.

Partially completed for Cloudfront (for viewer requests the return direct responses)


Bust up popover_menus

(97, 50) → (85, 41). Discussion.

Merged after fixing a typo in the first commit message; I did some pretty thorough testing of them all just as a QA pass, and found one bug already present in main.


Make BraveServletFilter customizable

I started including brave in our projects and works great. However, we faced some issues when trying to customize the behavior a little bit and ended up copy pasting the complete implementation.
BraveServletFilter.doFilter is to large, the creation of ServletHttpServerRequest and HttpServerRequestAdapter should be moved into a dedicated method that would allow subclassing and modifying it. Or maybe even better would be to be able to set a factory. We modified HttpServerResponseAdapter to provide more than just the TraceKeys.HTTP_STATUS_CODE.
I can do a PR for this.

I've noticed some limitations, too, but I'd be careful about anchoring too
much on the way it currently works, or exposing things that we'd end up
needing to support later.
For example, I made OkHttp's completely independent of the abstraction as
an interim (because it is hard to tell what is actually portable without
multiple implementations).
https://github.com/openzipkin/brave/blob/master/brave-okhttp/src/main/java/com/github/kristofa/brave/okhttp/BraveTracingInterceptor.java
Maybe you can share your own version for now? and show which frameworks it
works with (specifically which use cases it aims to support?)

regarding use cases:

I added a "getPrincpialName" to a custom HttpServerRequest
a custom ServerRequestAdapter adds some further binary annotations:
-- the principal
-- values from proprietary request headers (like client id, client version)
-- some metrics collected during the execution that are not traced by themselves

Not quite sure where to place those. Implementing ServerRequestAdapter seemed the best thing at first. But as noted above there is no easy way to add them without copy/pasing the implementation.
I could also imagine wrapping ServerRequestInterceptor and ServerResponseInterceptor and apply my changes there. But currently those classes not interfaces and are to replace as well. The advantage here is that it is a global thing. As long as those interceptors are used by the different filters (okhttp, servlet, etc.), I can reconfigure brave in one location.
yes, I started using okhttp as well. Works great. I think it would be good if it follows the http servlet and makes use of the ServerRequestAdapter/ServerResponseAdapter and forwards the data to ServerRequestInterceptor and ServerResponseInterceptor.
I started a PR. I think a ServerAdapterFactory in brave-core could be a good next step instead of having to use subclassing.

Best way to figure out if the design is generally helpful or the right approach is to ask others to comment. Remember, others have been using this filter for a while, and some may have made their own for various reasons. Some have gone to different directions. You can use their experience, and it is also nicer to the project to change public types with more than one person in mind.
One way to discover others is to join gitter or look at other issues in this repo or other repos of similar nature and CC those asking similar things if this could help. https://gitter.im/openzipkin/zipkin https://github.com/search?q=BraveServletFilter
here's a few to start: @devinsba @llinder @NegatioN @schlosna

The current proposal in #265 is to add the ability to control HttpServerRequestAdapter and HttpServerResponseAdapter via extension or a factory variant, to BraveServletFilter and possibly/probably others. The desire is to use a single class across different instrumentation, possibly later adding a means to get the "raw" type for the library-specific request or response object.
In doing something similar in OkHttp, I noticed that these types aren't written for extension. For this reason, I asked to prove that multiple integrations could work like this before changing the code. For example, it would be a problem to end up with a partial implementation or a flurry of PRs considering we do semantic versioning and cannot roll-back change easily.
Has anyone managed to customize to use a single type to control binary annotation values such as the servlet principle across frameworks? If so, how? If not, have you resorted to library-specific code like OkHttpParser? What designs are you using and what are the pros/cons are you seeing?

We ended up writing our own servlet filter pretty much for our RPC framework. We use AspectJ on all of our deployments so we wrote our filter as an aspect around the javax.servlet.http.HttpServlet methods. We then have a framework specific Aspect that catches traces on their way through it and adds our framework specific annotations.
We could use a servlet filter that was configurable/extendable to cut down on the amount of custom code we have. We would still need aspects though for some of our stuff so it doesn't buy us a lot on that front.

@devinsba thanks for sharing! Is the code that adds annotations custom to an open source framework or an internal one? If shareable, can you send a link? Regardless are you only needing to intercept Servlet, or are there other http library types you need to hook into.

Currently our customizations are mostly around filtering requests to exclude things we don't care about.  We could have probably achieved the desired results by using the Brave TraceFilter API for this instead.
Providing custom request/response annotations is definitely something that we would find beneficial as well.  In fact I just started looking into this last week and will probably go down the route of using custom HttpServerRequestAdapter/HttpServerResponseAdapter.
My preference on API changes are biased towards a builder pattern where factories are provided to the builder rather than extending classes and overriding protected methods.  That said I don't have any concrete code to share for discussion at this time.

@adriancole sorry for the slow response. Came down sick.
Its an internal framework. I can probably paste snippets of the instrumentation though. Our framework is built around the base Servelet methods on the server and UrlConnection for the client.
For our non-old-rpc apps (spring or spring-boot) we planned on using the brave classes that already exist or spring-cloud-sleuth. I've only really had success pushing adoption into the older apps so far though so I haven't run into any road blocks with those.
Grails might be the only major outlier for us but I'm not sure that falls under this issue.

It is confusing and time consuming to work on the same design in different places. I've closed #265 as I noticed no-one was participating there, and this is a change that affects many and will surely cost me a lot of time to support, too.
I'd like to be able to address the feature of adding more tags, and I'd like to see design proposals that actually achieve that without doing more.
I don't like the idea of the interceptor proposed on #265 because it is much wider than what we need to accomplish.
interface Intercept<T>{

  boolean accept(Object object);

  T intercept(T interceptedObject);
}

The above is very loose and even if implementable would require generics to make any sense out of. We are in a very specific problem domain. The new concern here isn't at all unbounded, it is simply adding String -> String binary annotation/tags to a span from a source object.
The key concern above is parsing "servlet.principal" or similar, the value parsed goes into the current span! IOTW, if this is servlet or apache or netty http library, you have some source object that is what the span was created from, and you are asking to scrape more from it than initially designed. If keeping the design as simple as possible, the only interception points of note are when a span is opened or closed... parsing the request, response, or error.
Moving down this line of thinking, we can do it in a couple ways.. either the user of brave asserts the tags they want and some adapter of sorts tries to parse them, or the user gives an implementation which also includes what is needed.
Design 1: user says httpTagsDesired = "http.uri", "servlet.principal", "http.path" and the implementation attempts to provide up those tags
Design 2: user says httpTagParser = fooParser, and fooParser includes logic and contract to get "http.uri", "servlet.principal", "http.path" where possible.
I like the fact that we are interested in making features, but we really need to drive them with requirements and least touch possible. In other words, if there's a strong desire to create an abstract interceptor idea that could possibly solve http tags, then that should happen in a fork because I need to use my time to help solve the problem raised and can't afford to work on things that don't benefit most people.

was chatting with @cschneider and think we could experiment supporting extensible means to add tag/binary annotations with the following parts:

some means to declare which tags go on the http client or server span.
some sort of value parser, which instrumentation packages could implement for common things like headers.
some sort of a registry, which would map common tag names (like zipkin.TraceKeys.HTTP_HOST) to a value parser.

We could backport the ability to parse all currently used zipkin.TraceKeys.HTTP_* and the ability to parse request arbitrary request headers (which this ticket is minimally about). We'd leave the "servlet principal" thing as a user test case, which shows how to parse a non-standard key (which would need access to a raw library class, like ServletRequest)
We'd then play with making the simplest means to configure additional keys that are either headers or the result of a custom parser. As the additional mappings need to end up in the various http filters, we'd end up needing to either extend public constructors (which I don't like), or retrofitting builders (which sounds better to me).
ex. somehow pass a list/map of "client.id" -> HttpHeader("x-client-id"), "servlet.principal" -> ServletPrincipalParser()
cc @epabst as you were asking earlier about exposing constructors and we'd probably want to make sure that whatever factory/builder/ctor pattern we make considers this.

ps the design I mentioned ties into #260 as it implies indirecting value production.

I'm working on a mockup of what I mentioned. Ideally, we can accomplish the goal of adding binary annotations aka tags to a span without forcing a common ancestor class among the various interceptors etc.

Here's a mock-up

/** Used to get binary annotation values from an input, such as a request object */
public interface ValueParser<T> {
  @Nullable String parse(T input);
}

/** Injects binary annotation/tags based for a given input type. Implemented as a list of key and value parsers */
interface TagInjector<T> {

  /**
   * any non-null values parsed from the configured keys are added as  binary annotation/tags on the
   * current span
   */
  void injectTagsFrom(T input);
}

/**
 * Implement this to teach TagInjector how to parse a key, potentially across multiple libraries.
 */
interface ValueParserFactory {
  /** Returns a parser that can handle the input type and the binary annotation key or null if unsupported*/
  @Nullable ValueParser<?> create(Type type, String key);
}

Example integration is something like this...

instrumentation implements ValueParserFactory for all standard keys

additional ValueParserFactory can be added to support custom keys

instrumentation uses TagInjector at runtime, ex requestTagInjector.injectTagsFrom(request)

The user's job is to configure a list of strings, the keys they want. ex "http.host", "remote_user". Via TagInjector, whichever of those keys are supported will end up as tags/binary annotations.
Here's how you might teach instrumentation about "remote_user"
valueParserFactory = (type, key) -> {
  if (!key.equals("remote_user")) return null;

  if (type == HttpServletRequest.class) {
    return (ValueParser<HttpServletRequest>) request -> request.getRemoteUser();
  } else {
    // TODO: figure out other libraries!
    return null;
  }
};

Note that the lookup is done up-front. In other words, the valueParserFactory isn't used at runtime, rather only the value parsers themselves.

I'm pretty sure the TagExtractor/ValueParser will work. I've weaved it in via builders to every http request and response adapter. I revised the design mockup above, too

Added this to standardize how instrumentation are constructed (basically add a builder). After this is in, we have a place to start adding hooks, such as which keys to log. https://github.com/openzipkin/brave/pull/279

here's a summary of the design I've in progress. It takes a while to do this since I don't want to merge anything unless it works for all libraries (and ..we've quite a few!)
https://github.com/openzipkin/brave/issues/284

here's an example of adding something today (adding client ip).. notice I did end up modifying the servlet adapter although I could have registered another filter to do the same (looking up the context key) https://github.com/openzipkin/brave/pull/295

I think it is best to do this work in brave 4 #180

@remmeier it took a very long time to get everything in place, but do you mind looking at #350? I think most of your requirements should now be met, specifically via the HttpServerParser type there which allows you to see an underlying request such as servlet.


add sigquit keystone systemd service

The default systemd kill signal is SIGTERM, which will reload uwsgi workers. Uwsgi requires a SIGQUIT be sent to immediately kill the entire uWSGI stack.

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

add to whitelist

ok to test

retest

retest

retest

ok to test


Line numbers

Looking to assist with coding projects this holiday seasons.  Does anyone have anything they want help with?

Sure, you can try to pick-up any of the opened issues.

This is fine fir now all good it's stating to make sense to me plus I signed yp for your classes.,lol


Replaces the implementation to avoid using explicit drake imported types

🎉 New feature
Pairs with https://github.com/maliput/maliput/pull/603
Summary
Replaces direct use of drake / eigen types by new classes  in maliput.
Test it
Via unit tests.
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if it affects the public API)

action-ros-ci-repos-override: https://gist.githubusercontent.com/francocipollone/b218a7671b9bb6b6be2c22ac19f85793/raw/734e35d0727e61f3f345b448fab0969ec21f5880/maliput_malidrive.repos

Note: Added the action-ros-ci-repos-override. As of next push it should run CI with the correspondant maliput branch.

For the record:

Wheel Generation / manylinux2014  failed because of not switching branches.
gcc / Compile and Test (Bazel) (pull_request) failed because it requires a new maliput release.

Retriggered CI to see how it behaves after solving the blockers


能否提供后台的数据表

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

无后台。

好的，谢谢。


Correct the ordering of setting the storedState during dispatches

Problem:
During the editor's boundDispatch, we trigger some zustand updateStore calls before updating the value of this.storedState. These updateStore calls can result in new renders, which can then in turn immediately dispatch new actions, which would be handled before this.storedState had been updated, meaning they would be handled based on a previous version of the editor store.
Fix:
Update this.storedState immediately, and ensure that we are always using that rather than a (potentially outdated) dispatch result throughout the rest of the boundDispatch function.
As a side note, we also realised that this is potentially a problem for all actions with handlers that use a passed in boundDispatch as they could then be updating the store in a way that would be immediately lost, but when digging into this we found that the only concrete cases of this were calling the passed in boundDispatch in an async manner, circumventing the issue.

this must have been incredibly painful to debug!

Yes.


feat: fix filter colors. Currently not matching backgrounds

Title is describing it very well

@heronlancellot closed it


AsyncRead/Write for RK1

Is your feature request related to a problem? Please describe.
Currently, the async Read/write trait for writing firmware to the RK1 is implemented in a blocking way. This is because the crate we use to interface rockusb,  is implemented using blocking calls.  I'd argue this ticket has a low priority as its a relatively high effort for a small gain.
Describe the solution you'd like
Implement async read/write for USB commands inside rockusb. Perhaps rusb-async can support in achieving this goal.
Describe alternatives you've considered
couldn't find any other crates to date.

I decided not to spend more time on this; it seems that an async implementation is far from stable currently: https://github.com/a1ien/rusb/issues/62


Improvements

Thanks for the update!! 😄
I was trying the mod now once again and came up with some improvements.

Could you add please support for Carpet AMS Addition "largeShulkerBox" rule?

It's a double inventory Shulker Box.
https://minecraft-ams.github.io/carpetamsaddition/Rules/

Could you please split the GUI opening from (Crafting table, Stone cutters, Shulker boxes, etc) into a sepparate option?

I mainly like to use the mod for the fast item transfer between Shulker Boxes.

I come up with struggle about the keybinds.

I would like to have the behaviour as follows: Grabbing a Shulker Box, while holding Left Shift, moving the Shulker Box over empty slots puts the items out. The same mechanic reverted. Grabbing a Shulker Box, while holding Left Shift, moving the Shulker Box over items to put them into the Shulker Box. Do you think that's possible? 😅

(I use Click Opener to maintain with right-clicks the GUI interactions.
That's the reason why I would like to have this behavour splitted from your mod.
https://github.com/RealMegaMinds/ClickOpener)

Thanks for the update!! 😄

You are welcome :)
Before we proceed to your questions, let me lay out the fundamental principles and ideas of this mod:

The mod strives to ease the burden of inventory management. Thus, out of the box, it should provide the best possible experience.
The mod should be as extensible as possible, allowing other developers to easily integrate with it.
The mod should be as non-intrusive as possible, minimizing potential incompatibilities with other mods. For example, Packed Inventory has 0 server-related mixins, meaning that compatibility issues may arise only from a logical error made by me or another developer, but not from the core concept of this mod.
I never plan to add support for other mods. Maintaining support for a potentially infinite number of mods with ever-changing internals is a nightmare, even if you are getting paid for it - which I am not; I'm a hobbyist mod developer. However, thanks to (2), the situation can be turned around.  This is a much better, fairer, and more stable solution for everyone involved.

Could you add please support for Carpet AMS Addition "largeShulkerBox" rule?

See (4).
Also, Packed Inventory does not hardcode or assume sizes of inventory-providing items. It operates on the actual reported values. Therefore, if an override of the vanilla logic is done correctly and the Shulker Box does report that it has 54 slots instead of the usual 27, Packed Inventory should already be compatible with such a mod. If not, however, I'm not the one to blame here.

Could you please split the GUI opening from (Crafting table, Stone cutters, Shulker boxes, etc) into a sepparate option?

See (1).
This feature is not only a part of the core experience, but it's also the feature this mod was born from. So, no, I'm not going to remove something that the earliest players downloaded my creation for in the first place. Also, your justification for that kinda escapes my ability to comprehend it: "Please, remove this feature from your mod because there's a mod that already does that and only that." Maybe you could just remove the second mod instead, if the only thing it does is already covered by Packed Inventory?

I would like to have the behaviour as follows: Grabbing a Shulker Box, while holding Left Shift, moving the Shulker Box over empty slots puts the items out.

Well, you can remap the key bind to whatever you want. However, I would strongly recommend against remapping any modded key binds that have any action attached to them to something so ingrained into Vanilla, such as Left Control and Left Shift, in general. See (3). Not only would this create conflicts with Vanilla but also with some other mods that decided that conflicting key binds are a cool idea, resulting in a poor overall experience.
For example, I myself remapped the vanilla "Pick the item" key bind to "`", because I cannot justify wasting a mouse button on something I do not use that often, and after that I mapped the middle mouse button to "Interact with item" from Packed Inventory and lived happily ever after.

Thanks for the detailed answer 😄
I understand your point with mod support >>> in this case for (Carpet AMS Addition "largeShulkerBox" rule).
In first place I don't need this myself - but I have always the bigger scale of community behind my thoughts. Maybe I will ask the other mod developer for support.

You do me bad with "remove this feature from my mod" - I was never saying such a thing. And of course I would never ask a developer to remove core features of his mods. As I said, I would like to have it optional splitted, maybe into a second keybind, which can be on standart the same keybind as before. No one would get hurted and you could use the Reset button to get the standart configuration of selected keys back. (Since we all know how bad Vanilla is if it comes to key binds).
My issue was just that I opened unintentional the GUI screen.

I don't think other mods biting with each other, but the experience feels not as smooth as I remember it from the past 🤔
I will have to fiddle again with the keybinds - tested it yesterday but did not came up with a great feeling.

"I would strongly recommend against remapping any modded key binds that have any action attached to them to something so ingrained into Vanilla" - I understand your point there, but as long the key has no interaction while you have your inventory open as example, everything is fine.

Whats left now - could you split the "Interact with item / opening GUI" option please into a second keybind? Which could be the same standart key as "K" on default 😊

Thanks again for the rich detailed answer. I should find later time to come on this 😊
And thanks for not taking my words bad - you put a lot of time into your mod(s) and this has all my respect.

I fiddled now again - I'm happy with the result. Put Extract from Item and Interact with Item both on Left Shift and now it feels great 😄
I just think now about the double size Shulker inventory. I will open an issue to the other mod developer and see what he says about it.

Hello @Kir-Antipov, would you be willed to help with the Shulker Box issue?
I mentioned on the other mod pages, but you must've overseen the notification for that 😊
The mod author says the problems lays on your code, he can't make nothing on his part.

Thank you for your patience! I've been quite busy with my other projects. I'm not very good at multitasking, so I typically hyperfocus on a single task until I complete it. Only then can I move on to other things without affecting my productivity :)

Put Extract from Item and Interact with Item both on Left Shift and now it feels great 😄

Well, this simply means that you are not using Extract from item entirely. Therefore, I strongly recommend unmapping it altogether by pressing the key bind in question in the settings and then pressing Escape. While these binds do not currently interfere with each other (Interact with item simply takes precedence over Extract from item), I cannot guarantee this for future releases, as it's just a mere implementation detail.
Furthermore, I must reiterate that I do not recommend using Left Shift for either Interact with item or Extract from item. It is only suitable as a modifier key, not as the actual action key. Otherwise, you present an interference with both crouch functionality and shift-click in the inventory - as far from ideal as it goes.

The mod author says the problems lays on your code, he can't make nothing on his part.

This is just not true. I have checked how the mods play with each other, and everything functions fine (tooltips, bundle-like features, etc.), except for an incorrect screen popping up when dealing with large shulker boxes from your inventory (it's worth noting that large ender chests work fine too, by the way).
The reason behind this issue is that the mod in question utilizes a custom screen handler, and the only thing it does is basically overwriting the right-click action on a shulker box block. Consequently, every other mod (not limited to just Packed Inventory) aiming to open a shulker box screen without a shulker box block being present (e.g., a shulker box minecart mod, a mod implementing trading stations via shulker boxes, etc.) will display a "wrong" screen from the user's perspective. This is because they have no means of interacting with a custom screen quietly implemented by Carpet-AMS-Addition. So, whose fault is that?
Furthermore, even if there was a necessity to implement a custom screen handler (which is not the case, the folks from Carpet-AMS-Addition could have patched the vanilla screen handler to make it automatically compatible with other shulker box-related mods), they could have registered it via the Packed Inventory API, as I mentioned earlier.
In summary, there is just nothing to this situation where the code on my side could be considered problematic.

Thanks!! ☺

"It's not my problem bro" be like


IMEI = 0

1. SDK version（SDK 版本）
<IP_ADDRESS>
CSDTK4.2
2. In what kind of operation problems appear, and how to reproduce the problem ?（什么样的操作步骤问题会出现，是否是稳定复现，如何复现问题？）

First time I saw it on trace of files "demo/gps_agps" or "demo/gps_tracker".
Trace "buffer" before sending DATA to host:

MMI 02 : send request:POST /?id=000000000000000&timestamp=1483236331&lat=57.817367&lon=28.300472&speed=1.000000&bearing=0.0&altitude=0.000000&accuracy=0.0&batt=79.0 HTTP/1.1

First parameter('id') must be IMEI.

Next I test file "demo/imei (+iccid)". Trace:

[02:16:25.658]          : Fn 2259309 T1 1703 T2 13 T3 09 Time 00 00 47 274
[02:16:25.658]   MMI 01 : ICCID: 89701200*****1131976
[02:16:25.763]   MMI 01 : IMEI:<PHONE_NUMBER>00000
[02:16:28.658]          : Fn 2259972 T1 1704 T2 00 T3 09 Time 00 00 50 274
[02:16:28.659]   MMI 01 : ICCID: 89701200*****1131976
[02:16:28.760]   MMI 01 : IMEI:<PHONE_NUMBER>00000

Also imei_build.log has text:

Current OS is MSWin32 mips-elf-ld.exe: hex/imei/imei.elf: access beyond end of merged section (-99877344)

AT+CGSN? command on 8955_modem_v1_AT_release_merge(2).afw show real IMEI same as qr-code on a9g case

But CGSN write same imei, as printed on case of module.
I must switch to ICCID or IMSI as unique identifier?
May be i can see imei in memory of module throught tracer?

What is the order of this two operation?
1:get imei by AT command
2:get imei by CSDK API
1 -> 2 or 2->1 or 1->2->1

Doesn't matter. It is different firmwares - original a9g (latest ~2018-06-22) and builded by sdk - demo/imei
AT firmware - show imei.
Builded .lod in sdk - shows "0000000"...

I have the same problem IMEI show "00000000000000"

I too have the same problem. Imei shows "00000000000000". Is there a solution to this ?

My Solution is to write the custom IMEI with AT command AT+EGMR.

Any solution to the empty IMEI, I depend on it for differentiate between device!

Any solution to the empty IMEI, I depend on it for differentiate between device!

I solved it the same way lamqhoang did. Flashed original AT firmware and with  AiThinker Serial Tool  I did AT command AT+EGMR.
Works OK.

I solved it the same way lamqhoang did. Flashed original AT firmware and with  AiThinker Serial Tool  I did AT command AT+EGMR.
Works OK.

So you write your IMEI?
I have another problem with the serial tool. No baud rate is working. I tried all standard baud rate and I only got garbage on the screen.

So you write your IMEI?
I have another problem with the serial tool. No baud rate is working. I tried all standard baud rate and I only got garbage on the screen.

Yes, you have to write the IMEI yourself. I had the number stored before I had this problem so I just wrote the same IMEI.
Regarding the problem with Serial Tool, check where the RX and TX cables are connected in the module. That happened to me as well at some point.
I don't remember where you're supposed to plug the cables in to work with the Serial Tool. If they're connected to HST_TX and HST_RX try connecting them to RX1 and TX1 and it should work.

Yes, you have to write the IMEI yourself. I had the number stored before I had this problem so I just wrote the same IMEI.
Regarding the problem with Serial Tool, check where the RX and TX cables are connected in the module. That happened to me as well at some point.
I don't remember where you're supposed to plug the cables in to work with the Serial Tool. If they're connected to HST_TX and HST_RX try connecting them to RX1 and TX1 and it should work.

Thank a lot.
Regarding this IMEI, but this is not a good way for production handling.
Another point, I'm developing using CSDK, sometimes the application doesn't start, another time after compiling new changes and flashing I find the old App is working not the new one. Any suggestions?

Thank a lot.
Regarding this IMEI, but this is not a good way for production handling.
Another point, I'm developing using CSDK, sometimes the application doesn't start, another time after compiling new changes and flashing I find the old App is working not the new one. Any suggestions?

I didn't played with the CSDK that much. I switched to pulkin's micropython version since it was easier for me to program as I don't have any experience with C.
Maybe someone else could give you some help with that.

I didn't played with the CSDK that much. I switched to pulkin's micropython version since it was easier for me to program as I don't have any experience with C.
Maybe someone else could give you some help with that.

Is this micropython stable/well documented?
Any useful links/tutorials?

Is this micropython stable/well documented?
Any useful links/tutorials?

micropython is awesome but not all functionality is available on this port, but there is enough to give it a shot.
The link is https://github.com/pulkin/micropython/tree/master/ports/gprs_a9

micropython is awesome but not all functionality is available on this port, but there is enough to give it a shot.
The link is https://github.com/pulkin/micropython/tree/master/ports/gprs_a9


pick between getInt and getInteger

We have getInt() and setInt() but isInteger(). For consistency and backward compatibility I propose we add getInteger(), setInteger() and isInt().

I find it too awkward to have different method names that do exactly the same thing, I have renamed getInt and setInt to getInteger and setInteger respectively.


MUR SST Kerchunk Recipe

@sharkinsspatial @abarciauskas-bgse

Fixes https://github.com/pangeo-forge/pangeo-forge-recipes/issues/647

Moving this to draft until we can:

[ ] test S3 urls are working (local testing was with HTTPS)
[ ] test it is working on flink
[ ] decide if we want to wait for https://github.com/pangeo-forge/pangeo-forge-recipes/pull/556 to be merged
[ ] add dependency on main branch of pangeo-forge-recipes for WriteCombinedReference


Dynamic entities expect to live forever?

This came up in this forum thread.
This is an entity with an ellipsoid with a dynamic radius. Trying to change it to an ellipse at run-time crashes because the geometry updater expects the entity to always be defined.
Sandcastle link.
This works fine if the ellipsoid is not dynamic. This seems to be a problem with all dynamic entities. Originally, when I asked why CesiumJS was designed to have one abstract "entity" with properties for each geometry type, instead of just creating new PolygonEntity(), the reason was that an Entity can be one shape, multiple shapes at the same time, or different shapes across time.
So I think it makes sense to consider this a bug, that you can't get rid of dynamic entities by setting them to undefined.

So I think it makes sense to consider this a bug, that you can't get rid of dynamic entities by setting them to undefined.

I'm not sure why there is any question about this, it's a straight up bug. Probably a regression introduced way back in #6239
Should be an easy fix.

I was just surprised none of the geometry updater classes were ever checking for this.

The check happens at a higher level once the definition of the entity changes, so DynamicEllipsoidGeometryUpdater.update should never even be called.  That's what the bug is here, the updated isn't properly going away when the ellipsoid gets set to undefined.
I triaged it and there's definitely a bug in the entity heuristics that thinks the geometry is still dynamic after it is nulled out.  Should be an easy fix once we find the root cause (it's almost certainly in the centralized code that manages all updaters so fixing it for one will fix it for all)


bug battery health on last update

Until the last update there were 47-48 kwh now 37-38... there is some error.. can you take a look?

Hi,
yeah, it seems that you have a lot of degradation. I've tested the new estimations with different cars and no problem.
About the ranges, it seen that you have lost 8.4km, it doesn't seem to be accurate, it's calculated on drives.
Estimations for battery are totally based in charges and car efficiency in order to test you will need to get the queries from the dashboard and test it out to see if there is some missing or incoherent data.
For example, the following is the stats of a Model 3 SR+ from 2020 and it seems to be coherent (Battery Capacity and Ranges)

Any how if you want, contact me by twitter to privately test with you.

this before last update

Exactly before I updated it said this:Inviato da iPhoneIl giorno 13 apr 2023, alle ore 19:48, Juan Carlos Heredia @.***> ha scritto:
Hi,
yeah, it seems that you have a lot of degradation. I've tested the new estimations with different cars and no problem.
About the ranges, it seen that you have lost 8.4km, it doesn't seem to be accurate, it's calculated on drives.
Estimations for battery are totally based in charges and car efficiency in order to test you will need to get the queries from the dashboard and test it out to see if there is some missing or incoherent data.
For example, the following is the stats of a Model 3 SR+ from 2020 and it seems to be coherent (Battery Capacity and Ranges)
Any how if you want, contact me by twitter to privately test with you.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Share a screenshot of chargers and efficiency dashboards from Teslamate. Just to see if there is something strange.

If you look at the graph of the first screenshot of the battery (the line of red dots) you will notice that in the last one it lost 10kwh the scale

From the efficiency graph, what I wanted to check, is this

What do you get there?

I see. Everything seems to be fine. I don't know how to help.
As I said before, estimations for battery are totally based in charges and car efficiency.
The difference from the previous version is that before I was using the "battery_level" field and now I'm using "usable_battery_level" which seems to be more accurate. Then I did a fine tuning on getting the max range and capacity. Also, in this case you could put your custom values to compare.
In order to test you will need to get the queries from the dashboard and test it out to see if there is some missing or incoherent data. You should run the queries separately to find what's wrong.
Sorry I cannot help, obviously, because I don't have your data, but you could try yourself and help me find what is wrong.
What I can tell you is that this dashboard is being used by many users and it's having good feedback.
Let me know if you find something or you can keep using the previous version if you feel confortable.

It could be that usable is always lower when it’s cold as in these cases ... I’ll be able to tell you with a few more tests

It is, but that is why in the query you will see that it's only considering charges that added more kWh than your efficiency.
In your case means that for estimations, it's only considering charging sessions with more or equal than 13,6kWh.
Ok. Let me know if you do further investigations.

Hi @SiNaPsEr0x
I have new. I've been researching and realized that I was not considering an estimation of the las charges but just the last one. As you suggested before sometime if battery is cold, there are some missed values. So, I've considered a month average.
Could you check the developer branch? I've made the changes there. So, you can test. If it's ok, let me know and I will generate a new release.

Luckily you’re a genius and you understand on the fly 😍 perfect I’ll take a look

NOW its ok!!!

I revert to main and attend officially push
Thanks for fix

Thanks for your feedback.
You have release v2.9.1 here https://github.com/jheredianet/Teslamate-CustomGrafanaDashboards/releases/tag/v2.9.1
Regards!


chore(*): replace discontinued github.com/golang/mock with actively maintained go.uber.org/mock

Description

Replace discontinued golang/mock with a more actively maintained go.uber.org/mock.
Add a missing refererence for generated go-generated mock file.

Related Issue
N/A
Checklist

[x] I have read the contributing documantation.
[x] I signed and signed-off the commits (git commit -S -s ...)
[x] I have correctly attributed the author(s) of the code.
[x] I have tested the changes locally.
[x] I have followed the project's style guidelines.
[ ] I have updated the documentation, if necessary.
[ ] I have added tests, if applicable.

Screenshots (if applicable)
Please add any relevant screenshots or GIFs to showcase the changes made.
Additional Notes
Add any additional notes or context about the pull request here.

Please refer to the CONTRIBUTING.md file for more information on how to contribute to this project.

@hainenber btw, the fmter most of us use is https://github.com/mvdan/gofumpt, which I believe does this by default

Fixed. Turns out I ran gci on the whole codebase instead of changed files :D

Hey @hainenber if you will resolve conflicts and sign, then I think we can get this merged

merge conflict resolved :D

Thanks @hainenber! Sorry one last thing - we require all commits to be cryptographically signed. I think maybe you had done this, but it was lost during an update. Can you re-sign them?

I always sign off my commits by default though. Do I miss something?

I always sign off my commits by default though. Do I miss something?
[...]
Edit: Hmm, they're no longer verified. Let me re-sign them for that

Right, you've got the Signed-off-By already. But this is the extra bit I'm looking for:

This is a merge requirement given the low-level access that Retina has to the hosts 🙂

Could be something I could work on as well :D
Anyhow, the commits are now signed with my key :D


[Feature] Quantum dropout

This is a work in progress example for quantum dropout, but I am having a problem with dealing with batched inputs currently. The bottom of the script has a minimal code example I was using to try and get batching to work.

hi @callumfduffy, great work! can you describe the batching issue youre facing?

@dominikandreasseitz I think the batching issue was resolved and the description is just a tad stale.

hi @callumfduffy , @Roland-djee will take over the review here, thanks!


501 error when post or get using the api

when I try to use the api to create a new gateway, server returns the 501 error. Nevertheless, I can use the api to create new users.
Response Body
{
"error": "unknown method CreateGateway",
"code": 12
}
Response Code
501
This error confused me, and how can I solve it?

You need to upgrade your LoRa Server instance. See also the release notes https://github.com/brocaar/lora-app-server/releases/tag/0.7.0.


2.0.0 and 2.0.1 stopped activate chrome on command-R

MacBook Pro
14-inch, 2021, 16 GB
Apple M1 Pro
macOs 14.3.1
Browser Refresh: Focus - checked in settings.
On version 2.x.x it does not activate chrome anymore and stay in VSCode.
Downgraded back to 1.2.0

It should be fixed in v2.0.2, thank you 👍


Move anthology PDFs over to aclanthology.info to get coverage by Scholar

S/N: 12
Priority: high
Title: Move anthology PDFs over to aclanthology.info to get coverage by Scholar
Proposer: Darcy Dapra

Changed to migrate service back to aclweb.org hosting.

The solution we agreed on the end is: PDFs can be host anywhere (right now we are using aclweb.org), but we need a specific header for every paper in the Anthology. This has been now implemented, and so I'm closing this ticket.


[MacOS] Blinking Cursor consumes unreasonable amount of CPU resources

See evidence: https://www.loom.com/share/8f5d64bede4f4891b0ccffa69dde8dd6
Easy to reproduce:

Start the Example app on MacOS
Have the cursor visible and blinking
CPU usage increased unreasonably

@matthew-carroll we analyzed our app to investigate the high CPU usage and tracked it down to SuperEditor. We stopped at that point, but maybe @knopp can help to give you the details he uncovered? I would like you to look into it - maybe other systems are affected as well?
The loom and evidence posted was done using the sample app of SuperEditor (not Superlist), so it appears to be an isolated problem of SuperEditor?

It gets slightly worse now that there is QuickCreate window - it has a hidden focused field that keeps repainting even if window is hidden. This can however be fixed by simply unfocusing the text field as the window gets hidden.
Regarding the CPU usage, it is on my TODO list to investigate. I've experienced several times (mostly after computer wake-up) that the CPU load was way beyond expected CPU load (even with cursor blinking).
I'm not sure that this is something super editor can solve though. I assume it only triggers repaint when cursor visibility changes?
In general Flutter engine repaints all layers on every frame, which makes blinking cursor just as heavy as any other UI update. Addressing this (partial repaints) is a work in progress. Part of it already landed ( https://github.com/flutter/engine/pull/21824 ), but it's not wired up yet.

Has this only been seen on Mac OS, then? Because on mobile, Flutter should not be repainting everything all the time....

Has this only been seen on Mac OS, then? Because on mobile, Flutter should not be repainting everything all the time....

It's not specific the particular embedder. On every platform flutter engine rasterizes entire layer tree on every frame (some layers may be raster cached though). There is a PR for wiring up partial update for mobile platforms (https://github.com/flutter/engine/pull/25158) but I haven't had much time lately to push it through. On desktop it's even trickier since it would involve embedder API changes.

I turned on debug tools to show what Flutter thinks is repainting. You'll in this video that only the paragraph where the caret blinks is repainting. I think this probably confirms what @knopp said about the engine. Do either of you think that this deserves further investigation?
https://user-images.githubusercontent.com/7259036/131609821-43814b38-36ad-47ad-99d8-5581be4ae341.mov

Yes, I think we cannot release an editor that consumes an unreasonable amount of CPU just because it is active. Your video is already close to the required evidence we need to file a ticket for the engine, isn't it? I see two paths forward:

either we're doing it wrong and there is an easier or more lightweight way to display the caret, then it's on us
the Flutter engine is by design performing the repaint as shown and there is no other way, then we should file a ticket with all the evidence to the Flutter team, and optionally propose a PR on how to solve it - if that is even possible from our position

That makes sense. I'm not sure what more we would show. It's still possible that it's my fault, but I think it would take the confirmation or rejection by someone with knowledge of the engine.
@knopp linked a couple PRs that are in-progress. If that work resolves the root issue, then any ticket that we file would be closed as a duplicate, because there must be some upstream tickets for those PRs, already.

The PRs would make cursor repaint lighter, but one of the significant issues I'm seeing here is that the cursor only blinks couple of times a second, yet it cases full 60fps repaints. I'm not seeing this with flutter text field for example (where it only triggers repaint when cursor state changes). This seems like something that could be addressed in super editor.

Sure, I could change the implementation. It sounds like you want to take advantage of the fact that this particular caret animation is binary: visible or invisible. In general, of course, a cursor could constantly fade in and out. It's only incidental that this one does not. But I'll look at moving the animation to a timer-based system instead of an AnimationController and we can see if that helps in this case.

For the time being I'd definitely stick with "binary" cursor :) I think on iOS the system cursor has a slight fade but I don't think that's worth it right now given the heaviness of single repaint. If not done yet, it might be worth putting cursor in repaint boundary, which puts the cursor in a separate engine layer. Which may cause the text behind it to be raster cached after couple of updates.
The PR in progress would help, but repainting everything 3-4 times per second for now instead of 60 would probably help even more.

Here's a video with the Timer adjustment. It will probably blow up tests because Timers always seem to outlive the test and cause an exception, but we're very light on tests right now anyway. I'll put up a PR with this change so that you two can try it out.
When the only thing happening is a blinking cursor, my CPU usage is back down to about 2% (down from about 20%). Selection dragging seems to spike it again, at least momentarily.
https://user-images.githubusercontent.com/7259036/131632406-0585ce0d-78a7-49cb-ae32-3776a70e220b.mov

That seems a lot better. Selection dragging has to repaint more often, so increased CPU load is somewhat expected there. Given that the editor presumably results in one flutter engine layer (DisplayListLayer) not even the partial repaint PR would completely solve this. Are you triggering repaint when selection actually changes, or on every mouse event? If it's the former then it is likely as good as it's going to get for now.

I'd have to dig around to be sure, but I'm pretty sure I'm only notifying listeners when the selection value changes, regardless of mouse position.


Hackerrank A very big sum

I can do the hackerrank a very big sum in a single loop in 15 lines

I want to contribute in this can I

I want to contribute in this.

We will not accept this type make some good question of hackerank


Added functionality to identify .hta files

https://cccs.atlassian.net/browse/AL-455

Codecov Report

Merging #18 into master will increase coverage by 0.36%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master      #18      +/-   ##
==========================================
+ Coverage   60.72%   61.08%   +0.36%
==========================================
  Files         115      115
  Lines        9845     9849       +4
==========================================
+ Hits         5978     6016      +38
+ Misses       3867     3833      -34

Impacted Files
Coverage Δ

assemblyline/common/constants.py
87.87% <ø> (ø)

assemblyline/common/identify.py
0.00% <0.00%> (ø)

assemblyline/odm/randomizer.py
94.68% <0.00%> (-0.97%)
:arrow_down:

assemblyline/common/backupmanager.py
76.76% <0.00%> (+16.59%)
:arrow_up:

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 e62e8fb...73012a6. Read the comment docs.

do not merge yet, still testing...

Functionality of potentially affected services (Extract) has been tested, Extract is unaffected.


Waveform component initialization is disabled in Analysis.vue and will not be displayed in Audio path components

There is a problem in getWorkflowId()- asset_id in path is resolving to undefined for some reason.
The Waveform is an audio frequency graph that is shown on audio components in place of the line chart in video operator components.  This graph gives an overview of times in the video when sound is present.  Removing the Waverform component will just leave some blank space below the player on the Audio component pages

Remove waveform component entirely.

this issue is obsolete since the waveform component has been removed.


misc: improve logging level of wheel build failures

I we find metadata for an artifact it does not really matter that the others have errored out I think. But if we cannot find any then we want to make this into an error, because currently the thread will panic after this happens.
This should also enable pixi users to see this error.

Nice! Does this also show the stderr of the Python process to the user?

Nice! Does this also show the stderr of the Python process to the user?

It does yes. I don't know if I'm able to filter that. Most of the time it's no that interesting.

Seeing this should we also allow the warnings from rip to be shown in pixi?

I think we should use warnings to show that we skipped packages, but can potentially still solve, and errors that we will be unable to solve. So I think its fine for now.

I'll just merge this for now, seeing as it was approved and we can improve on it later @wolfv.


or scraper is failing

It's failing with an IndexError. I have been monitoring this error on Sentry, but everytime I checked the most recent data for orctapp, it was up to date. However, it was actually or which was failing, which inherits from the orctapp scraper, breaking the expected pattern of writing the scraper on the "main" or highest court file, and inheriting on the lower courts. The reason for this seems to be that one cannot import (in the usual way) a module named or, to define the inheritance
Our most recent record for or is from June 13th, 2024. No backscraper is needed for this time period, since the page lists all opinion since mid 2023. The scraper only needs to be run wih --fullcrawl argument.
Also, there is room for improvement.

or and orctapp state citations are available (if one checks the downloaded file, it seems to be a set of pages in a book)
Not all orctapp opinions are precendential, even when they have a citation

Sentry Issue: COURTLISTENER-7B2
IndexError: list index out of range
(3 additional frame(s) were not displayed)
...
  File "cl/scrapers/management/commands/cl_scrape_opinions.py", line 437, in handle
    self.parse_and_scrape_site(mod, options)
  File "cl/scrapers/management/commands/cl_scrape_opinions.py", line 400, in parse_and_scrape_site
    site = mod.Site().parse()

To fill the or gap

To collect unpublished opinions for orctapp (which were not collected before)

Backscraper was ran, we got the missing opinions


Drop IE10

Microsoft just dropped support for IE10, but Browser Update still defaults to <=9
https://www.microsoft.com/en-us/WindowsForBusiness/End-of-IE-support

It now defaults to IE10.
Thank you.


FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.

When I run the example app I get the following error
java.lang.RuntimeException: Unable to create service flutter.overlay.window.flutter_overlay_window.OverlayService: java.lang.IllegalArgumentException: com.example.flutter_overlay_window_example: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. E/AndroidRuntime(17128): Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
It seems that in onCreate method of OverlayService, one needs to pass PendingIntent.FLAG_IMMUTABLE while creating the pending intent.
And also how to show some animation when showing the overlay. Right now it just pops up. It would be nice if there is some nice configurable animation.

hello
i just pushed a fix for this you can test it before I publish a new version
  flutter_overlay_window:
    git:
      url: https://github.com/X-SLAYER/flutter_overlay_window.git

for the animation side in the end you will show a flutter view so you can play with that on the flutter side I think

@X-SLAYER the proposed solution seems to works. Thanks for such a quick fix.


Fix samlValidate error message

Hi there! I was wondering about helping out a little!
This is a Pull Request to start discussion around #866 and verify that the solution I wish to implement would be appropriate:
I would:

Add a message to messages.properties called something like INVALID_SAML_REQUEST
Detect if service is SamlService in ServiceValidateController.handleRequestInternal line 143.
If so, generateErrorView with new INVALID_SAML_REQUEST message

Does that sound like an appropriate plan of attack?

What you have in mind would work, but wont pass muster for a PR.

Ok! Are there certain PR guidelines that I should be adhering to or is it just not a large enough contribution to be considered?

Oh no, none of that :) I was merely referring to the solution that it won't be appropriate. Specifically, checking for a SamlService explicitly is not a good idea. What would be better instead, is that you have each argument extractor communicate its parameters back to you, and simply modify the message to accept those parameters, as parameters.
Additional reading:
https://groups.google.com/forum/#!topic/jasig-cas-dev/ybQcp5RsYFw
https://groups.google.com/forum/#!topic/jasig-cas-dev/U3YHH62wUjE

So something along the lines of:
argumentExtractor.getTicketParameter()
argumentExtractor.getServiceParameter()

...and your error message would be:
{0} and {1} are required parameters
...now this is also not very appropriate because ticket/service is specific to CAS protocol [and there are other extractors besides SAML as well], so we should try to generalize this as much as we can. This may also be related:
https://github.com/Jasig/cas/issues/708

Aha! That definitely sounds like a better approach. :) I'll read up on those links and #708 and see if I have any further ideas/questions.

Excellent, thanks for your perseverance.

Just committed an initial attempt with only SamlService implementing the method, to see if/where the errors are in my thinking here. If every service implemented the getServiceParameters() method, and the return value was used to populate the error message, would that work? As I've started out implementing with SamlService? Or is the better approach, as you mentioned, to move the logic into the ArgumentExtractor's?
Please forgive any blatant errors with my thinking, this is my first foray into open source CAS development.
As a side note, it appears the latest commit failed to pass the checkstyle requirements. I'll see what I need to fix there.
Also, please let me know if you'd rather just knock this one out rather than waiting for me to do this in the right way. :)

Of course, we'd love to have you complete this. You're doing just fine :)
What you have done would be a good first step. I am still concerned about not moving the extraction logic over to extractors, and have them just return the parameters they use because I can also see additional future benefits to be gained from that move.
Here's an initial pull that attempted to do the same:
https://github.com/Jasig/cas/pull/698
Now, what you have would also work in the short term. I'd invite others on the team to review and chime in though.

Addressed via #866 for now.

Roger that. Thanks for letting me know!


symfony/console support?

Feature request
symfony/console is a grate component which many frameworks used. So can we support it , or how can I integrate with it seamless?
https://symfony.com/doc/current/components/console.html

Symfony console is the whole console framework so it makes no sense to integrate it. Which specific features of Symfony console are you missing in Yii?

Nothing missing. Many frameworks I am using at the same time, including developing cli library, just want same api to reduce my work.  It is just a proposal, closing now.


[C++] Adjust clang-format search names

Motivation
The Pulsar C++ client use clang-format 5.0 to format files, we don't need to search for a version lower than 5.0.
Additionally, the old version of clang-format might be hard to install in the normal way, for example, in macOS,  users can't use brew to install clang-format@5, because brew doesn't maintain the old version software with very few users. In this PR, it introduced a solution to install clang-format@5 in macOS.
Modifications

Make CMake don't search clang-format for a version lower than 5.0.
Introduce solution to install clang-format 5.0

Documentation
Need to update docs?

[x] doc

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks


Ae styleguide development

This is the PR for the initial styleguide. Alongside this there are also some
bit that I changed related to the styleguide compliance.
Change log

Moved globals.scss to the styles directory. The goal here is to have
global styling files in their own directory.
Extracted some common styles for Typography, Elements, and Page into their own
css modules, which we import in globals.
Created some default CSS variables that we can hook into when we start doing
the theming, many of these variables are also used by the newly added
react-aria components.
Updated layout.tsx to use the code formatting for classes and id's as
outline in the styleguide.
Updated some CSS classes to remove verbose nameing. Rationale? We know we are
working with the DMPUI frontend, so there is no need to prefix every class
with dmpui.
Created the Styleguide Page, as well as custom components and css that are
only to be used on the Styleguide.

@andrewebdev - one thing I noticed was that there is a warning error in the Console for the styleguide page that says: "**If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility**".  I think it's a glitch in react-aria-components, because the "Email" field has an associated label, but it is giving that error unless we add an aria-label attribute to the input field.

Also, @andrewebdev can you update the CHANGELOG.md file? I'm hoping that can become a regular thing when putting changes into PR review. Thank you.

Regarding the label aria field, I'll have a look at that. It's plausible that I missed something when adding the component. Will have a look at it.
Re. changelog, good idea! I'll update the changelog with notes from this PR


Add a Navbar to Sign-in and Login Page

Description
Added a Navbar to the Sign-in and Login Pages for easy navigation and adjusted some style in Registration Page
Related Issues

Added Navbar having style similar to Website Navbar to the Registration Page and Login Page.
Adjusted the style of the Registration Page to look good and fit the Navbar.

Type of PR

[feature Request] (issue #267)

Screenshots of the changes

Checklist

[x] I have gone through the contributing guide
[x] I have updated my branch and synced it with project main branch before making this PR
[x] I have performed a self-review of my code
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

Additional context:
As requested I have added Navbar to the Registration and Login Page which matches your Website theme.
@Anjaliavv51, please review my PR and tell me if further changes are required or not.
Also add labels of Hacktoberfest'24, GSSoC_Extd'24 and level-1/2/3 to make my contribution count.

@Anjaliavv51, Please kindly review this PR

Hey @Anjaliavv51, Please kindly review my PR before 31st October, before the Hacktoberfest'24 ends.