Documenting the context of the tutorial procedure

Description
In the atoti tutorial page, when executing the instruction "python -m atoti.copy_tutorial tutorial"
from the Anaconda Powershell Prompt, the Anaconda environment gets corrupted
The following error message is displayed on the Anaconda Prompt
RuntimeWarning: 'atoti.copy_tutorial' found in sys.modules after import of package 'atoti', but prior to execution of 'atoti.copy_tutorial'; this may result in unpredictable behaviour
And a prompt isn't then made available.
On the tutorial page https://docs.atoti.io/latest/getting_started/tutorial/tutorial.html
We should explicitly specify from which user interface, which path, and which environment the instructions are to be executed. Especially, it should be highlighted to run it from the Anaconda Prompt, and NOT the Anaconda Powershell Prompt

Hi Pierre,
Could you please let us know which python and atoti versions you are using ? Is it the complete error message ?


Add new task

Hi, thanks for the outstanding work.
Now, I want to add more tasks, (for example, add new tasks of Simple Calendar Pro App), and how can I achieve the goal? Do I need to make changes to the android_env package?
Thanks. :-)

Hello. I am glad you are finding AndroidWorld useful.
To create a calendar task, you can look at the existing tasks for calendar. You can make use of the validation functions we have in common validators. For the calendar tasks, and many others, ultimately it requires inspecting a SQLite database. So there is a lot of flexibility.
To test the new tasks you create, create a new registry, or inherit from ours and add your tasks there.

We have also added a guide for adding new tasks: https://github.com/google-research/android_world/blob/main/docs/tasks_guide.md


Public IP removal

What this PR does / why we need it:
Removes public IP from private clusters.
Test plan for issue:
We deployed a full rp service in DEV with the current changes and created a cluster.

This is very much a WIP and there is no need of reviews at this time.

Cards created for this feature:
https://msazure.visualstudio.com/AzureRedHatOpenShift/_workitems/edit/15054503
https://msazure.visualstudio.com/AzureRedHatOpenShift/_workitems/edit/15058440

/azp run e2e

/azp run e2e

Would you mind rebasing, @ArielLima? Removing ready-to-review until that's done.

@cblecker As far as I am aware this is on hold until hive is finished so maybe wait until then to rebase?

Also, please update the PR description and link to appropriate work items.

/azp run e2e


Excange Sync "When would I want to use this check box?" refers to "Model Driven App" where it means "Org" which is confusing/misleading

The wording:

A user can be a member of more than one model-driven apps in Dynamics 365, such as Dynamics 365 Sales and Customer Service, organization, but an Exchange mailbox (email address) can only synchronize emails, appointments, contacts, and tasks with one organization

is confusing.
The issue is belonging to multiple Organizations, not having access to multiple Model Driven Apps in one Org.

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

ID: 9b53089f-cc3d-2149-05c4-49820074d029
Version Independent ID: 2f1723be-4cc3-fb4d-dd09-c7800c16f64b
Content: When would I want to use this check box? - Power Platform
Content Source: power-platform/admin/when-would-want-use-check-box.md
Service: power-platform
GitHub Login: @jimholtz
Microsoft Alias: jimholtz

@krouskop
Thanks for bringing this to our attention. You're quite correct. Looks like a terminology search and replace error. We'll get this corrected today.


MongoDB ?!

Hi there, will any other database besides Postgres be added, maybe MongoDB?!

(Another Serverpod user here...) The query DSL is hardcoded for generating Postgres-style SQL, and it would take a lot of work to make it work for an entirely different database type like MongoDB. however, the SerializableModel subclasses are very easy to convert to and from JSON, so you could use the MongoDB API directly with those classes. It would be a very simple fit. Then you could just use the MongoDB API directly.
You would need to change your Dockerfile to start a MongoDB instance. And all the Google Cloud Terraform scripts assume that you'll be using Serverpod with Postgres (Cloud SQL in Google terms), so if you wanted to run on Google Cloud, you'd have to do a fair bit of work to modify these scripts too. (Google Cloud doesn't have a MongoDB service, that I have seen, so you'd have to just run your own instance on Compute Engine.)

That is a great suggestion for a workaround @lukehutch!
I'm closing this as a duplication of https://github.com/serverpod/serverpod/issues/14 but will post your suggested workaround in that issue as well.


[Improvement]: Refactor ApiError and ErrorKind to use thiserror

Describe the improvement
https://github.com/shuttle-hq/shuttle/blob/c5ddea00829ff2a3c75676c97a52ef684e12a255/common/src/models/error.rs#L8-L12
https://github.com/shuttle-hq/shuttle/blob/c5ddea00829ff2a3c75676c97a52ef684e12a255/common/src/models/error.rs#L33-L34
These two structs in shuttle-common currently use manual implementation for error message formatting.
The impl From<ErrorKind> for ApiError block has lots of repetition.
The idea is to use thiserror's template string attributes that automate string formatting for the inner enum type. That way, the big match statement can be used for just selecting the status code.
All error messages and codes should remain the same after this change, unless you find some reasonable improvements to make.

This issue is open to contribution. Comment if you want to work on it. Feel free to ask for help and guidance here or in our Discord.

Hi, i am new to this project
i will try to do this i might need little help

i couldn't understand this part

The idea is to use thiserror's template string attributes that automate string formatting for the inner enum type. That way, the big match statement can be used for just selecting the status code.

@biplab5464 Sorry for the late reply. Yes, it's about using the thiserror crate and the error message templating feature with {0} to embed the inner data when needed. Just ask if any further help is needed. :)

#[derive(Debug, Clone, PartialEq, Error)]
pub enum ErrorKind {
    #[error("Request is missing a key")]
    KeyMissing,
    #[error("The 'Host' header is invalid")]
    BadHost,
    #[error("Request has an invalid key")]
    KeyMalformed,
    #[error("Request is missing a key")]
    Unauthorized,
    #[error["You cannot create more projects. Delete some projects first."]]
    Forbidden,
    #[error("User not found")]
    UserNotFound,
    #[error("User already exists")]
    UserAlreadyExists,
    #[error("Project '{0}' not found. Make sure you are the owner of this project name. Run `cargo shuttle project start` to create a new project.")]
    ProjectNotFound(String),
    #[error("{0:?}")]
    InvalidProjectName(InvalidProjectName),
    #[error("A project with the same name already exists")]
    ProjectAlreadyExists,
    /// Contains a message describing a running state of the project.
    /// Used if the project already exists but is owned
    /// by the caller, which means they can modify the project.
    #[error("{0}")]
    OwnProjectAlreadyExists(String),
    #[error("Project not ready. Try running `cargo shuttle project restart`.")]
    ProjectNotReady,
    #[error("Project returned invalid response")]
    ProjectUnavailable,
    #[error("You cannot create more projects. Delete some projects first.")]
    TooManyProjects,
    #[error("Could not automatically delete the following resources: {0:?}. Please reach out to Shuttle support for help.")]
    ProjectHasResources(Vec<String>),
    #[error("Could not automatically stop the running deployment for the project. Please reach out to Shuttle support for help.")]
    ProjectHasRunningDeployment,
    #[error("Project currently has a deployment that is busy building. Use `cargo shuttle deployment list` to see it and wait for it to finish")]
    ProjectHasBuildingDeployment,
    #[error("Tried to get project into a ready state for deletion but failed. Please reach out to Shuttle support for help.")]
    ProjectCorrupted,
    #[error("Custom domain not found")]
    CustomDomainNotFound,
    #[error("Invalid custom domain")]
    InvalidCustomDomain,
    #[error("Custom domain already in use")]
    CustomDomainAlreadyExists,
    #[error("The requested operation is invalid")]
    InvalidOperation,
    #[error("Internal server error")]
    Internal,
    #[error("Service not ready")]
    NotReady,
    #[error("We're experiencing a high workload right now, please try again in a little bit")]
    ServiceUnavailable,
    #[error("Deleting project failed")]
    DeleteProjectFailed,
    #[error("Our server is at capacity and cannot serve your request at this time. Please try again in a few minutes.")]
    CapacityLimit,
}

impl From<ErrorKind> for ApiError {
    fn from(kind: ErrorKind) -> Self {
        let status = match kind {
            ErrorKind::Internal => StatusCode::INTERNAL_SERVER_ERROR,
            ErrorKind::KeyMissing => StatusCode::UNAUTHORIZED,
            ErrorKind::ServiceUnavailable => StatusCode::SERVICE_UNAVAILABLE,
            ErrorKind::KeyMalformed => StatusCode::BAD_REQUEST,
            ErrorKind::BadHost => StatusCode::BAD_REQUEST,
            ErrorKind::UserNotFound => StatusCode::NOT_FOUND,
            ErrorKind::UserAlreadyExists => StatusCode::BAD_REQUEST,
            ErrorKind::ProjectNotFound(_) => StatusCode::NOT_FOUND,
            ErrorKind::ProjectNotReady => StatusCode::SERVICE_UNAVAILABLE,
            // "not ready" is matched against in cargo-shuttle for giving further instructions on project deletion
            ErrorKind::ProjectUnavailable => StatusCode::BAD_GATEWAY,
            ErrorKind::TooManyProjects => StatusCode::FORBIDDEN,
            ErrorKind::ProjectHasRunningDeployment => StatusCode::INTERNAL_SERVER_ERROR,
            ErrorKind::ProjectHasBuildingDeployment => StatusCode::BAD_REQUEST,
            ErrorKind::ProjectCorrupted => StatusCode::BAD_REQUEST,
            ErrorKind::ProjectHasResources(resources) => {
                let resources = resources.join(", ");
                return Self {
                    message: format!("Could not automatically delete the following resources: {}. Please reach out to Shuttle support for help.", resources),
                    status_code: StatusCode::INTERNAL_SERVER_ERROR.as_u16(),
                };
            }
            ErrorKind::InvalidProjectName(_) => StatusCode::BAD_REQUEST,
            ErrorKind::InvalidOperation => StatusCode::BAD_REQUEST,
            ErrorKind::ProjectAlreadyExists => StatusCode::BAD_REQUEST,
            ErrorKind::OwnProjectAlreadyExists(_) => StatusCode::BAD_REQUEST,
            ErrorKind::InvalidCustomDomain => StatusCode::BAD_REQUEST,
            ErrorKind::CustomDomainNotFound => StatusCode::NOT_FOUND,
            ErrorKind::CustomDomainAlreadyExists => StatusCode::BAD_REQUEST,
            ErrorKind::Unauthorized => StatusCode::UNAUTHORIZED,
            ErrorKind::Forbidden => StatusCode::FORBIDDEN,
            ErrorKind::NotReady => StatusCode::INTERNAL_SERVER_ERROR,
            ErrorKind::DeleteProjectFailed => StatusCode::INTERNAL_SERVER_ERROR,
            ErrorKind::CapacityLimit => StatusCode::SERVICE_UNAVAILABLE,
        };
        Self {
            message: kind.to_string(),
            status_code: status.as_u16(),
        }
    }
}

i am done how i test my code

Nice job!
You can fork the repo, make a new branch, commit your changes to the branch, open a PR to this repo that references this issue, then CI tests will run and check your changes. Then, the discussion and review can continue in the PR.
If you need help with any of these steps, you can probably find good guides, or just ask here again.


fix(emitter): only emit if there are log records

### Definition of Ready
- [ ] I am happy with the code
- [ ] Short description of the feature/issue is added in the pr description
- [ ] PR is linked to the corresponding user story
- [ ] Acceptance criteria are met
- [ ] All open todos and follow ups are defined in a new ticket and justified
- [ ] Deviations from the acceptance criteria and design are agreed with the PO and documented.
- [ ] No debug or dead code
- [ ] Critical parts are tested automatically
- [ ] Where possible E2E tests are implemented
- [ ] Documentation/examples are up-to-date
- [ ] All non-functional requirements are met
- [ ] Functionality of the acceptance criteria is checked manually on the dev system.

Did you want to use the es indices base branch?

Did you want to use the es indices base branch?

nope, but as it's merged it should be ok now


Better stroke smoothing

Currently, js-draw uses heuristics to fit pen input points to Bézier curves. The current stroke smoothing method leads to handwriting that looks somewhat like this:

While the current stroke smoother has the advantage of producing a small number of curves (good because js-draw drawings are uncompressed, Joplin seems not to support SVGZ), it makes handwriting somewhat difficult to read.
Progress
So far, an InputStabilizer preprocessor has been created — it leads to better results, but also has delay.

Related: https://github.com/personalizedrefrigerator/joplin-plugin-freehand-drawing/issues/10

Related: https://github.com/personalizedrefrigerator/js-draw/commit/e328438059316c44fb64efb23a947bf04ab954cb


Can it be height instead of max-height?

This is a deceptively large behavior change for a single line patch; changing the behavior of any off-canvas that is less than 100% in content.  Any sort of info why you'd want to make this change or why you think this is the correct behavior at a framework level?  For an individual site implementation you could always just add height: 100% to the .off-canvas class...
A change with this impact should be submitted against a minor point branch (e.g. v6.3), so I'm going to close this.  You are welcome to resubmit against v6.3 but please without more context about why you believe this is the correct behavior.

Sorry!
I thought with 100% height it would more look like a sidebar.
Do you think this is a good idea?


Consider allowing owned data in MappedMutexGuard

There is no reason that MappedMutexGuard needs to contain a *mut T, it can just contain a T. I believe that you may have to change the bound of map like so:
pub fn map<U: ?Sized + 'a, F>(s: Self, f: F) -> MappedMutexGuard<'a, R, U>
where
    F: FnOnce(&'a mut T) -> U,
{
    let raw = &s.mutex.raw;
    let data = f(unsafe { &mut *s.mutex.data.get() });
    mem::forget(s);
    MappedMutexGuard {
        raw,
        data,
        marker: PhantomData,
    }
}

And you should also bound MappedMutexGuard's T parameter by 'a. This is strictly more general than the existing method, but will break anyone who explicitly specifies the T parameter of MappedMutexGuard. To get around this, you could rename MappedMutexGuard to OwnedMappedMutexGuard and make the original name a type alias like so:
pub type MappedMutexGuard<'a, R, T> = OwnedMappedMutexGuard<'a, R, &'a mut T>;

Is the consideration any different for the mapped RwLock guards?
I recently hit this issue because I wanted to keep the guard around a structure which borrows stored data, but is not such itself, but the current signature forbids such.

Yes, rhe same issue described in the PR also applies to RwLock.

Yes, rhe same issue described in the PR also applies to RwLock.

Guessing you mean your objection on usability grounds in #290? I was mostly wondering if there were additional unsafety / concerns which would make the issue even more problematic for RwLock than it is for Mutex or if it was essentially the same, sorry for not being clear.

I think it's essentially the same.

I ran into this today on RwLock. I want to maintain (roughly) a RwLock<Vec<Mutex<T>> so that individual Ts can be mutated concurrently, locking the whole thing only when adding/removing values, and I want to encapsulate this with an API that returns a smart pointer analogous to MutexGuard, which is internally a RwLockReadGuard<'_, MutexGuard<'_, T>>. However, RwLockReadGuard::map's current signature makes this impossible.


Addon error when updating plugins

Every time I try to update a plugin I get an addon error saying "There is already a plugin with name (plugin name)"

Wrong Repo
Try reinstalling the plugin


[SPARK-28720][BUILD][R] Update AppVeyor R version to 3.6.1

What changes were proposed in this pull request?
R version 3.6.1 (Action of the Toes) was released on 2019-07-05. This PR aims to upgrade R installation for AppVeyor CI environment.
How was this patch tested?
Pass the AppVeyor CI.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/14130/
Test PASSed.

Test build #109066 has started for PR 25441 at commit 34825cc.

LGTM. Merged into master.

Thank you for review and merging, @dbtsai !

Test build #109066 has finished for PR 25441 at commit 34825cc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/109066/
Test PASSed.


Restart HA-Bridge on PC re-boot

I have ha-bridge working well on Windows 10 with Domoticz. On PC re-boot, Domoticz loads successfully and starts the Dashboard. This is via Task Manager - Startup.
I now need to add:

start ha-bridge
start ha-bridge console
: so that the system is fully restored following the re-boot.

Separately, I have a batch file that successfully runs the jar file and starts ha-bridge, and another  batch file that successfully starts the ha-bridge console.
How do I add these to the Task Manager Startup, so that they load in the correct sequence?

Domoticz, then jar, then console

Tried several combinations, but they all fail.
Any help would be appreciated

SOLVED by running the following Batch file at Startup:
@echo OFF
Rem  --- Domoticz Application ---
cd C:\Program Files (x86)\Domoticz
start "" "C:\Program Files (x86)\Domoticz\domoticz.exe" -www 8080 -sslwww 443 -loglevel=0 -sslcert "C:\Program Files (x86)\Domoticz\server_cert.pem"
Rem  --- HA Bridge Application ---
TIMEOUT /T 10
cd C:\Program Files (x86)\Java
start java -jar -Dserver.port=8081 C:\HA-Bridge\ha-bridge.jar
Rem  --- HA Bridge Console ---
TIMEOUT /T 10
cd C:\Program Files (x86)\Google\Chrome\Application
start chrome.exe http://<IP_ADDRESS>:8081


Segmentation Evaluation

As discussed in #142, to facilitate evaluating predicted segmentation images, it would make sense to implement metrics that compare the predicted images with the ground truth in order to compare approaches more efficiently.
Some measures/distances that should at least be considered for this are sensitivity, specificity, Dice coefficient and Hausdorff distance. The Multimodal Brain Tumor Image Segmentation Benchmark (BRATS) chapter "E. Evaluation Metrics and Ranking" describes them well.
Expected Behavior
Find metrics and distances that measure the deviation of a predicted, segmented image from its ground truth. Implement them so 2D as well as 3D images / data cubes can be passed to them.
Possible Solution
scipy.spatial.distance seems to already offer some nice stuff.
Acceptance criteria

[ ] explain why you chose to implement the selected metrics / distances
[ ] implement the comparison methods for 2D and 3D numpy arrays
[ ] write appropriate tests and show that the methods work

Closed in #146 … thanks!


[Question] Any side effect function in TaskEither or Either?

Hi, I come from Java (vavr) and for the side effect function I mean something like peek(), that is, just peek without changing Right if it's a Right, and for Left it is called peekLeft().
Now I need to do something like this to simulate peek:
taskEither.map((right) {
  doSomething(right);
  return right;
})

Hi @samuelyung
I think what you are looking for is chainFirst.

No...
chainFirst() requires a function argument having a return type of TaskEither<L, C>, while the peek()'s Consumer argument doesn't return anything.
That is, it just "observe" the value.

You can return a TaskEither with return type as void. When chainFirst is executed the result is ignored, so in practice it works as if you are observing the value


About tagging the releases

👋 it would be good to create the release tags so that the downstream package managers can help with distributing the artifacts. Thanks!
relates to https://github.com/Homebrew/homebrew-core/pull/105108
cc @marcusbuffett

Created a release tag for the latest release. Let me know if there's more to this, haven't done this before.

Thanks for the release tags, works for us (homebrew)!!


feat: add event listener to handle style injection

add an event listener to handle when the styles should be injected

This also allows us we control the style injection by props

@danielbarion ready to review (can't request review since it's your PR 😶)

@gabrieljablonski just reviewed 👍🏻
But I cannot approve since it's my PR 🤦🏻
Please go ahead and merge it bypassing the checks


[Enhancement] Add spectator mode compatibility to mobs from other mods.

I noticed that in spectator mode, the first-person view of other mod creatures will be blocked by the head models, is it feasible to add compatibility to them?

The mod tries its best to hide these heads, but if it can't then the mob doesn't define what the head is/the mod can't access it. There is no special logic to make vanilla mobs work, they just use the correct definition.

Does that mean the head can be hidden if the modder uses the correct definition?

https://github.com/tr7zw/FirstPersonModel/blob/fef8b8286039a6fa6263798699e55351c8ca5c8e/Shared/src/main/java/dev/tr7zw/firstperson/mixins/LivingEntityRendererMixin.java#L30 Basically this is the logic for non "humanoid" models. If the model is a "HeadedModel", then that head gets hidden. That should usually take care of normal mob heads.

I see, probably, thanks.


repeat pipe semantics

g.v.repeat(2..4) { |x| x.out }
would be like doing:
g.v.branch { |x| x.out.out }.branch { |x| x.out.out.out }

See: https://github.com/pangloss/pacer/blob/develop/lib/pacer/filter/loop_filter.rb#L8


Custom download url

Works by setting PHANTOMJS2_DOWNLOAD_URL. I decided against detecting if the host is running Ubuntu in a suitable version and setting the download URL to something...-u1404...zip. According to the previous naming scheme it should actually be something...linux..zip and I expect this to continue as soon as PhantomJS 2 is stable.

@prayerslayer Thanks for the PR!
I've released new version of phantomjs2-ext(0.0.3) and karma-phantomjs2-launcher package(0.1.3). I hope this will help you.

It does :+1: Thanks for the quick response!


Xiaomi Humidifier action crash if speed value passed

Home Assistant release with the issue:

0.87.1
Last working Home Assistant release (if known):
Don't know
Operating environment (Hass.io/Docker/Windows/etc.):

Docker
Component/platform:

https://www.home-assistant.io/components/fan/
https://www.home-assistant.io/components/fan.xiaomi_miio/
Description of problem:
Passing speed value to Xiaomi Humidifier 2 ends with an error. Same service called from web interface works fine for some reason.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
fan:
  - platform: xiaomi_miio
    host: <IP_ADDRESS>
    token: !secret humidifier_token

Automation itself:
- alias: 'Humidify on weekdays'
  trigger:
    - platform: numeric_state
      entity_id: sensor.humidity_158d0001b75d90
      below: '55'
  action:
    - service: fan.turn_on
      data:
        entity_id: fan.xiaomi_miio_device
        speed: high

Traceback (if applicable):
2019-02-19 14:38:18 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/fan/xiaomi_miio.py", line 551, in _try_command
    partial(func, *args, **kwargs))
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.6/site-packages/miio/airhumidifier.py", line 329, in set_mode
    return self.send("set_mode", [mode.value])
  File "/usr/local/lib/python3.6/site-packages/miio/device.py", line 272, in send
    raise DeviceError(m.data.value["error"])
miio.exceptions.DeviceError: {'code': -6011, 'message': 'device_poweroff'}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/service.py", line 289, in _handle_service_platform_call
    await getattr(entity, func)(**data)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/fan/xiaomi_miio.py", line 566, in async_turn_on
    result = await self.async_set_speed(speed)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/fan/xiaomi_miio.py", line 879, in async_set_speed
    self._device.set_mode, OperationMode[speed.title()])
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/fan/xiaomi_miio.py", line 557, in _try_command
    _LOGGER.error(mask_error, exc)
  File "/usr/local/lib/python3.6/logging/__init__.py", line 1336, in error
    self._log(ERROR, msg, args, **kwargs)
  File "/usr/local/lib/python3.6/logging/__init__.py", line 1443, in _log
    self.handle(record)
  File "/usr/local/lib/python3.6/logging/__init__.py", line 1453, in handle
    self.callHandlers(record)
  File "/usr/local/lib/python3.6/logging/__init__.py", line 1515, in callHandlers
    hdlr.handle(record)
  File "/usr/local/lib/python3.6/logging/__init__.py", line 864, in handle
    self.emit(record)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/system_log/__init__.py", line 130, in emit
    entry = self._create_entry(record, stack)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/system_log/__init__.py", line 113, in _create_entry
    'message': record.getMessage(),
  File "/usr/local/lib/python3.6/logging/__init__.py", line 338, in getMessage
    msg = msg % self.args
TypeError: not all arguments converted during string formatting

Additional information:

It looks like the firmware doesn't allow a set_mode call if the device is turned off. Could you try to extend your automation (as workaround): Call the turn_on service without the speed parameter. Call the set_speed service afterwards with speed: high. If this solution works fine I will update the HA component:
https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/xiaomi_miio/fan.py#L556-L564

Already done this. Works fine for a week. Action part looks like this:
  action:
    - service: fan.turn_on
      data:
        entity_id: fan.xiaomi_miio_device
    - service: fan.set_speed
      data:
        entity_id: fan.xiaomi_miio_device
        speed: high


Flutter support

Here is a flutter example i created and runs SQLite on all the platforms it exports to!
https://github.com/rodydavis/flutter_graph_database

Hi @rodydavis and thanks for letting me know!
The demo page does not seem to load for me, though; according to the browser console, there's a minification error in the main script:
Uncaught Error: Instance of 'minified:a2' 2 main.dart.js:4026:3
    c https://rodydavis.github.io/flutter_graph_database/main.dart.js:4026
    ajl https://rodydavis.github.io/flutter_graph_database/main.dart.js:6098
    $0 https://rodydavis.github.io/flutter_graph_database/main.dart.js:30157
    aoQ https://rodydavis.github.io/flutter_graph_database/main.dart.js:5372
    ap9 https://rodydavis.github.io/flutter_graph_database/main.dart.js:5374
    $1 https://rodydavis.github.io/flutter_graph_database/main.dart.js:29378
    aqD https://rodydavis.github.io/flutter_graph_database/main.dart.js:4107
    s https://rodydavis.github.io/flutter_graph_database/main.dart.js:4115

Gotcha! May have been an issue on my side. It was working in dev mode at least

Ha, of course :)
Anyway, I admit I'd never heard of Flutter and Dart before you posted this, so thank you again for the heads-up.
In the meantime, I've updated the README to include a reference to it, so I'll mark this "issue" as closed.


Dataframe elemwise

Continues on from https://github.com/dask/dask/pull/1636
I rebased and pushed onto @JamesJeffryes branch.  This had the unfortunate side effect of irrevocably closing the PR.

My guess is that when I pushed I pushed my master branch to @JamesJeffryes master branch (what he was using for development) rather than the dev branch that I had created.
@JamesJeffryes I apologize for nuking your work on github.  It is all recorded here.  In the future I recommend doing work in a separate branch other than master.  It's considered good practice to always keep master clean of development work, and only pull from the main fork's master
I'm actually quite surprised that I was able to push to your master branch.  I suspect that Github's new policies for opening a pull request to a project gives that project's maintainers permissions to arbitrarily affect that branch.
git remote add dask git@github.com:dask/dask.git
git checkout master
git pull dask master
git checkout -b my-new-dev-branch
... do work ...
git commit -a


Propagate CMAKE_EXPORT_COMPILE_COMMANDS setting to subprocess in mission_build.cmake

Checklist (Please check before submitting)

[x] I reviewed the Contributing Guide.
[X] I reviewed the cFS README.md file to see if the feature is in the major future work.
[X] I performed a cursory search to see if the feature request is relevant, not redundant, nor in conflict with other tickets.

Is your feature request related to a problem? Please describe.
When building cFE alongside of other apps the setting for the CMake variable CMAKE_EXPORT_COMPILE_COMMANDS only applies to the efl2cfetbl target due to the architecture of the CMake build system for cFS.  This makes it difficult for many development tools (like visual studio code) to properly understand the full cFE environment without putting in significant manual effort to specify the include paths and other compiler settings, thing which are usually captured in the compilation database built when CMAKE_EXPORT_COMPILE_COMMANDS is set to ON
Describe the solution you'd like
Ultimately this comes down to the subprocess call in mission_build.cmake (around line 438 in the current main branch) where the setting for CMAKE_EXPORT_COMPILE_COMMANDS is not propagated to the subprocess.  The fix is as simple as adding this line
-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=${CMAKE_EXPORT_COMPILE_COMMANDS}

somewhere between ${CMAKE_COMMAND} and ${SELECTED_TOOLCHAIN_FILE}.
Describe alternatives you've considered
This is the simplelest and least disruptive to the existing build process.  Alternatives would be to use ExternalProject or add_custom_command/add_custom_target which would probably play nicer than the execute_process, but they would also need to pass the same flag in this manor.
Additional context
N/A
Requester Info
Andrew Liounis, NASA/GSFC

My apologies, I mean to put this under cFE, not cFS


Fix NPE in PrestoS3FileSystemMetricCollector

@electrum I have seen a NPE under some failure case recently, this patch addresses it.

Merged, thanks!


Consider different types of boot strap

Compare choice of basic, percentile, bias corrected, BCa boot strap in classification curves, as well as in CIs in benchmark_tools.py.  Compare coverage in AUC, PR, PRG experiment to determine which is best.

Percentile and basic bootstrap are now supported.  Other options such as BCa are possible, but there are more involved and require implementing other routines such as jackknife as well.


RoutingError: Image is missing

On Catalogs -> Catalog Items -> select one item, i'm getting the error:
[----] I, [2016-01-26T10:05:10.389701 #7864:2acbebaf198c]  INFO -- : Started POST "/catalog/x_show/10r37"
[----] I, [2016-01-26T10:05:36.352783 #7864:2acbebaf198c]  INFO -- : Started GET "/images/toolbars/remove.png" for <IP_ADDRESS> at 2016-01-26 10:05:36 +0100
[----] F, [2016-01-26T10:05:36.501992 #7864:2acbebaf198c] FATAL -- :
ActionController::RoutingError (No route matches [GET] "/images/toolbars/remove.png")

@miq-bot assign @epwinchell


Enhancing Nav Bar

I want to make nav bar more responsive on small screens

I want to make nav bar more responsive on small screens

Ok. Assigned to you @Jyoti040


why  call stored procedure, Obtain output parameters sometimes None?

os : Ubuntu16.4,
python : 3.6,
pymysql : 0.9.2,
mysql : 5.7.23,
dbutils: 1.3,

PROCEDURE code is :
CREATE DEFINER=`root`@`%` PROCEDURE `P_TEST`(OUT aCode varchar(4), OUT aMsg
    varchar(16), IN aAppName varchar(16))
COMMENT 'test'
BEGIN
    set aCode = '1';
    set aMsg = 'err_msg';
    select aAppName;
END

and python code is :
def executeProc(aProcName, aParams):
tmpDbConn = None
tmpCursor = None
try:
    tmpListData = list(aParams)
    tmpListData.insert(0, '')
    tmpListData.insert(0, '')
    aParams = tuple(tmpListData)
    print(aProcName, aParams)

    tmpDbConn = DBPools.connection()
    tmpCursor = DBPools.connection().cursor()
    tmpCursor.callproc(aProcName, aParams)
    tmpDatas1 = tmpCursor.fetchall()
    print(tmpDatas1)
    tmpCursor.execute('select @_%s_0, @_%s_1 ;' % (aProcName, aProcName))
    tmpDatas2 = tmpCursor.fetchall()
    print(tmpDatas2)
    code = tmpDatas2[0][0]
    msg = tmpDatas2[0][1]
    tmpCursor.close()
    tmpDbConn.close()
    return (code, msg, tmpDatas1)
except InternalError as e:
    print(e)
    return (sqlServerInternalError, all_code[sqlServerInternalError])
except ProgrammingError as e:
    print(e)
    return (sqlServerProgrammingError, all_code[sqlServerProgrammingError])
except InterfaceError as e:
    print(e)
    return (sqlServerConnectFail, all_code[sqlServerConnectFail])
except OperationalError as e:
    print(e)
    return (sqlServerInterfaceError, all_code[sqlServerInterfaceError])
except Exception as e:
    print(e)
    return (sqlServerException, all_code[sqlServerException])
finally:
    if tmpCursor:
        tmpCursor.close()
    if tmpDbConn:
        tmpDbConn.close()

if __name__ == "__main__":
    for i in range(100):
        executeProc('P_TEST', ('a'))

and test result is:
P_TEST ('', '', 'a')
(('a',),)
(('1', 'err_msg'),)
P_TEST ('', '', 'a')
(('a',),)
look here : ((None, None),)
P_TEST ('', '', 'a')
(('a',),)
look here : ((None, None),)
P_TEST ('', '', 'a')
(('a',),)
(('1', 'err_msg'),)
P_TEST ('', '', 'a')
(('a',),)
(('1', 'err_msg'),)
This is just a random occurrence. Where is the problem? Thanks!

Sure ! like this...
import MySQLdb, logging, LOGUtils
from DBUtils.PooledDB import PooledDB
import Config

_myLog = logging.getLogger('LOG-XHXWEIGHT')

DBPools = PooledDB(creator=MySQLdb, mincached=0, maxcached=Config.maxcached, maxusage=Config.maxusage,
                   host=Config.DBHOST,
                   port=Config.DBPORT,
                   user=Config.DBUSER,
                   passwd=Config.DBPWD,
                   db=Config.DBNAME,
                   use_unicode=False,
                   charset=Config.DBCHAR)

Thanks a lot. Thank you ever so much !

Some things that come to my mind:

You need to specify Config.maxcached and Config.maxusage to make this reproducable. Though I think this is not the causing the issue here.
You should set mincached to some positive number, otherwise the pool will not have a useful effect.
Just a naming issue, call it something like dbpool instead of DBPools to make it clear that it's only one pool, and that it's not a class, but an instance.
You're calling DBPools.connection() twice. Don't do that. Call it once, store the connection as tmpDbConn, and then use that tmpDbConn to get the cursor.
You should close the cursor after getting the first result, and then reopen it before executing the select, i.e. tmpCursor.close(); tmpCursor = tmpDbConn.cursor(). I believe otherwise this could cause problems (though actually I would expect an error of that kind to be printed).

Let me know if this helps.

Thank you so much! It works ! Sorry, My English is not very good. I use translation software to communicate with you.
What I found seemed to be the problem of "maxusage", It has nothing to do with "mincached" and "maxcached"
I set mincached = 5, and maxcached = 100,
I try 100 tests, index from 0 to 99

when maxusage = 0
fail index is []

when maxusage = 1
fail all

when maxusage = 2
fail index is []

when maxusage = 3
fail index is [5, 6, 7, 8, 9, 20, 21, 22, 23, 24, 35, 36, 37, 38, 39, 50, 51, 52, 53, 54, 65, 66, 67, 68, 69, 80, 81, 82, 83, 84, 95, 96, 97, 98, 99]

when maxusage = 4
fail index is []

when maxusage = 5
fail index is [10, 11, 12, 13, 14, 35, 36, 37, 38, 39, 60, 61, 62, 63, 64, 85, 86, 87, 88, 89]

when maxusage = 7
fail index is [15, 16, 17, 18, 19, 50, 51, 52, 53, 54, 85, 86, 87, 88, 89]

when maxusage = 9
fail index is [20, 21, 22, 23, 24, 65, 66, 67, 68, 69]

when maxusage = 11
fail index is [25, 26, 27, 28, 29, 80, 81, 82, 83, 84]

when maxusage = 33
fail index is [80, 81, 82, 83, 84]

when maxusage = 39
fail index is [95, 96, 97, 98, 99]

when maxusage = 41
fail index is []

The conclusion is that

No matter how many executions, the results are the same.
When x is an odd number, there's a problem.
It seems quite regular.

Translation software really has come a long way. It's great that it helps people all over the world to communicate.
Thanks for the detailed feedback - now I understand what happened. Yes, it has to do with maxusage. If you set it to a positive value, then DBUtils tries to recreate the connection after so many usages. However, MySQL obviously does not like this to happen in between calling a stored procedure and selecting the results of the same procedure.
Generally, you should wrap your transactions in begin() and commit() when using DBUtils (the begin() is normally implicit in DB API 2) so that DBUtils does not reconnect in the middle of a transaction. Unfortunately, even if you do that, it does not help in this case. I will fix this, probably by allowing the automatic reconnection to happen only before a begin() and after a commit() or rollback(). I will leave this issue open as a reminder.
For the time being, you should set maxusage=0 or create two pools, one for the normal queries (which can have maxusage > 0) and one for operations which span more than one command.


Allow EcsTextFormatter to accept any custom EcsDocument implementation

This way users can implement and use their own EcsDocument subclasses as ITextFormatter.
This introduces some breaking changes:

EcsTextFormatterConfiguration is no longer a fluent descriptor, just a simple POCO.
The MapFromContext() helper method no longer exists.

Fixes #167

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2022-09-06T19:20:04.210+0000

Duration: 21 min 41 sec

Test stats :test_tube:

Test
Results

Failed
0

Passed
154

Skipped
2

Total
156

:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

When and in what version will this change be available?


Help for Python

Hi,
Does this support Python type hints with pyright? I don't know how to enable this..
This is the only reason I still couldn't remove CoC so any help will be very appreciated!!

Out of scope for this plugin. Thing is, pyright doesn't implement inlayHints.
The coc-pyright plugin implements additional features (check its readme).
See also:
https://github.com/fannheyward/coc-pyright/commit/1f36838eaacc0d564946733e847a785709550966
https://www.npmjs.com/package/@zzzen/pyright-internal

@lvimuser Thanks a lot for the pointer. I didn't know this and it's very interesting..
At the moment I don't want to hack it to make it work with native LSP so what I did was just installing coc.nvim, coc-pyright and disable everything else than inlay hints on the CoC side. It's not efficient but it works..


Chapter #gpio-matrix-and-io-mux seems missing for ESP32S3 (IDFGH-8219)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/spi_master.html#gpio-matrix-and-io-mux
https://github.com/espressif/esp-idf/blob/91e8312f03/docs/en/api-reference/peripherals/spi_master.rst
https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/spi_master.html
according these Documents:
the Chapter #gpio-matrix-and-io-mux seems missing for ESP32S3 right ?

@franz-ms-muc  Hi, thanks for this report. We'll update this doc recently.

Hi, documentations you need have updated, welcome to discuss if still anything confused. thank you!
https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/spi_master.html#gpio-matrix-and-io-mux


renamed v4 db objects: load, latest, and history tables, and their id columns

src/ddl/migrations/v4_renaming.sql - contains the SQL to do the renaming of a live v4 system
source code changes were done by these 4 shell commands:
find ./src ./tests ./integrations -type f -exec sed -i 's/signal_history/epimetric_full/g' {} ;
find ./src ./tests ./integrations -type f -exec sed -i 's/signal_latest/epimetric_latest/g' {} ;
find ./src ./tests ./integrations -type f -exec sed -i 's/signal_load/epimetric_load/g' {} ;
find ./src ./tests ./integrations -type f -exec sed -i 's/signal_data_id/epimetric_id/g' {} ;
all tests pass on the codebase as it stands in this commit;
they also pass on a delphi_web_epidata docker image that was created before this commit and then had the migration file changes applied to it.

note: the find commands were designed to avoid the .git/ directory


The product obtained by using gzip to compress element-plus is wrong and cannot be used

Bug report 🐞
When I used this tool to gzip the element-plus package, the compressed file I got was wrong and could not be used.
Version & Environment
vue3 + vite project
Expection
I hope the compressed product can be used normally.
Actual results (or Errors)
This is how I use it:

The results obtained:

vite's version?

Can you share your full vite's config or create a minimal reproduction

vite's version?

"vite": "4.0.0"

I created a simple scene and it works fine.

Here is my config.
import { defineConfig } from "vite";

import vue from "@vitejs/plugin-vue";
import compression from "vite-plugin-compression2";

export default defineConfig({
  plugins: [vue(), compression({ deleteOriginalAssets: true })],
});

I created a simple scene and it works fine.  Here is my config.
import { defineConfig } from "vite";

import vue from "@vitejs/plugin-vue";
import compression from "vite-plugin-compression2";

export default defineConfig({
  plugins: [vue(), compression({ deleteOriginalAssets: true })],
});

You can try to import element-plus as needed. I got an error after compressing element-plus.

My entry point

import { createApp } from "vue";
import Ele from "element-plus";
import App from "./app.vue";
import "element-plus/dist/index.css";

createApp(App).use(Ele).mount("#app");

<template>
    <div>
        <el-button>1</el-button>
    </div>
</template>

I created a simple scene and it works fine.  Here is my config.
import { defineConfig } from "vite";

import vue from "@vitejs/plugin-vue";
import compression from "vite-plugin-compression2";

export default defineConfig({
  plugins: [vue(), compression({ deleteOriginalAssets: true })],
});

This is how I use element-plus
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
import compression from 'vite-plugin-compression2';

export default defineConfig({
  plugins: [
    vue({
        template: {
          compilerOptions: {
            isCustomElement: (tag) => tag.includes('swiper-'),
          }
        }
    }),
    AutoImport({
        resolvers: [ElementPlusResolver()],
    }),
    Components({
        resolvers: [ElementPlusResolver()],
    }),
    compression({
        threshold: 500 * 1024,
        filename: '[path][base]',
        deleteOriginalAssets: true
    }),
  ]
});

Ok, Let me guess. The filename is [path][base] So the original javaScript file has been replace as an compressed module. But you haven't using the cloud server like amazon s3. See #31 .
I need to explain that compression isn't terser or other code compressor. If you're using it you should use it with Nginx or tomcat or other etc together.

Anything works well. I think you can try using the follow script to do a simple validate.

const http = require('http')
const path = require('path')
const fs = require('fs')
const sirv = require('sirv')

const defaultWD = process.cwd()

const publicPath = path.join(defaultWD, 'dist')

const assets = sirv(publicPath, { gzip: true })

function createServer() {
  const server = http.createServer()

  server.on('request', (req, res) => {
    assets(req, res, () => {
      res.statusCode = 404
      res.end('File not found')
    })
  })

  server.listen(0, () => {
    const { port } = server.address()
    console.log(`server run on http://localhost:${port}`)
  })
}

function main() {
  if (!fs.existsSync(publicPath)) throw new Error("Please check your're already run 'npm run build'")
  createServer()
}

main()

Step:

Remove filename option in plugin. and set the include: 'include: [/.(js)$/, /.(css)$/]'
npm run build (ensure your output is dist)
run this script and view the result in your browser.

AFAIK, filename Option, usually for the needs of amazon S3.

 Anything works well. I think you can try using the follow script to do a simple validate.
const http = require('http')
const path = require('path')
const fs = require('fs')
const sirv = require('sirv')

const defaultWD = process.cwd()

const publicPath = path.join(defaultWD, 'dist')

const assets = sirv(publicPath, { gzip: true })

function createServer() {
  const server = http.createServer()

  server.on('request', (req, res) => {
    assets(req, res, () => {
      res.statusCode = 404
      res.end('File not found')
    })
  })

  server.listen(0, () => {
    const { port } = server.address()
    console.log(`server run on http://localhost:${port}`)
  })
}

function main() {
  if (!fs.existsSync(publicPath)) throw new Error("Please check your're already run 'npm run build'")
  createServer()
}

main()

Step:

Remove filename option in plugin. and set the include: 'include: [/.(js)$/, /.(css)$/]'
npm run build (ensure your output is dist)
run this script and view the result in your browser.

ok，thanks for your help.

So it not a bug. Just some missing in document?

So it not a bug. Just some missing in document?

After the compression is successful, I found that the resources in the dist directory have been reduced to 274k

But when the web page is loaded, the displayed resource size is still the uncompressed size. Why is this?

I'm afraid you're not set the response header in your server. For Nginx you can refer document. Or view question. This plugin compression on the client to reduce the pressure of the server side. If you're using like vercel or other's free cloud server. You might not need this plugin.

I started a local server and tested it using the server script you provided last time.


Translations in GUI appear only when interacting with one item (editmode multitool)

The mutlitool only translates its placeholders correctly when interacting with one item. This occurres because the PacketPlayOutWindowItems packet is sent twice and consumes the tags in the first run. When interacting with one item, another packet is sent and refreshes the items with a new set of placeholders, which this time are not yet consumed.

already fixed by removing per player per inventory translations. Instead simply uses one inventory per player


Tabbed content overlapping when toggling tabs

Tabbed content is overlapping whenever you toggle other tabs for example when you select any tab besides the first tab you can see both the contents of the first tab and the second tab. When you resize the window the content of the first tab goes away and the appropriate tab is visible until you refresh the browser. If I put an alert in my controller that is called onload it also resolves this particular issue but once  I remove the alert the tabbed continues to overlap.

Not sure what your issue is as I haven't experienced this. Please create a Plunk demonstrating your issue.


so many docs updates

Codecov Report

Merging #22 (992d3ce) into main (ff95d7c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #22   +/-   ##
=======================================
  Coverage   72.46%   72.46%
=======================================
  Files           9        9
  Lines         730      730
=======================================
  Hits          529      529
  Misses        201      201

Flag
Coverage Δ

unittests
72.46% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

model_catalogs/model_catalogs.py
79.00% <ø> (ø)

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


Why don't host and basePath support path templating?

The Swagger 2 schema says that neither host nor basePath support path templating. We probalby discussed this but I don't remember the exact reason and it seems like a big limitation. It's common to have parameters in either the host or in the basePath. You can at least work around the basePath limitation with excessively long paths, but there is no workaround for parameter in a host. Swagger will force you to hardcode a value.
Real-world examples:

Host parameter:

Rackspace: https://{data_center}.servers.api.rackspacecloud.com/v2/{account_id}
Okta: https://{your_company}.okta.com/api/v1/apps/{app_id}
Zendesk: https://{subdomain}.zendesk.com/api/v2/organizations.json

basePath parameter

Apigee: https://api.enterprise.apigee.com/v1/organizations/{org_name}/apis
Heroku: https://api.heroku.com/apps/{app_id}/addons

I think the reason may have been just:

We didn't have a plan for global parameters (though we do define available global parameters which is likely good enough, because using a parameter in a host or basePath template could imply or require a $ref to the parameter name)
We just didn't have enough time to put together a sample and tests before Swagger 2 was released

It's also worth noting that neither host nor basePath are required, nor are they required to resolve to the actual API (e.g. you could set your host to example.com).
I'm hoping to at least get support targeted for the next spec, if not an update to this spec clarifying that host/basePath templating is not required but may be supported by some projects.

Echo on what maxlinc said above, provide support for parameter in a host will be great as this is a big blocker for us to adapt Swagger in our current projects.

What happens if an operation has a path parameter which is the exact same name of this proposed global path parameter in basePath?
How the tooling can decide which value goes to which parameter?
Here is an example:
---
swagger: '2.0'
info:
  version: 1.0.0
  title: Pets Store

basePath: /{name}/
paths:
  /{name}:
    get:
      parameters:
        - name: name
          in: path
          description: name
          type: string

      responses:
        200:
          description: Returns all the pets

@mohsen1 You raise an interesting question about a case where the spec is probably ambiguous, but not something that worries me about basePath in particular. The basePath allows you to write DRY swagger, but it can always be written in a more redundant, expanded form without a basePath. And those cases are equally ambiguous.
Your example should be the equivalent of:
---
swagger: '2.0'
info:
  version: 1.0.0
  title: Pets Store

paths:
  /{name}/{name}:
    get:
      parameters:
        - name: name
          in: path
          description: name
          type: string

      responses:
        200:
          description: Returns all the pets

Here's a more realistic example:
paths:
  /users/{name}/friends/{name}

That's ambiguous. You shouldn't use the same variable name if you're talking about two different variables. This doesn't just confuse Swagger, it would confuse most client and server-side APIs that do parameter expansion or extraction.
For example, it would be equally bad as a rails route:
get '/users/:name/friends/:name', to: 'friends#get', as: 'friend'

And similarly, I don't think scoping makes it less ambiguous:
scope 'users/:name' do
  get 'friends/:name', to: 'friends#get', as: 'friend'
end

So basically: same name => same variable => same value substitution. If you don't want that than you should use distinct names:
paths:
  /users/{user_name}/friends/{friend_name}

Voting for this.
@mohsen1 & @maxlinc, while it is maybe not good practice to reference the same parameter multiple times in basePath and a path item, it should not matter though, because unlike a server route binding, code using a Swagger definition works the other way round: It substitutes a parameter reference with a value rather than extracts it.
It could only be a problem if you had multiple definitions for the same parameter, but this is resolved by using the most specific definition already.

Plus one for this feature.
I came across a situation where region and language are part of the base path
Something like
https://myserver.com/{region}/{lang}/products
Now if I don't use the base path then for each end point I have to use
/{region}/{lang}/products
/{region}/{lang}/users
...
and so on
You got the idea

+1
It would be great to have templating support for host so that we don't have to have multiple swagger definitions for development, test and production environment which uses different host.
Thanks.

+1
Really a big need (for me). I'm importing my swagger into Postman, and it doesn't interpret the path parameter (that is a part of the basePath in my swagger) as a variable. My current workaround is to change the swagger to basePath: {{varName}} so that Postman interprets it correctly, but I'd like to just wrap it with one set of curly braces for consistency.
Also, I understand that there will have to be work done on the Postman side for detecting that as a parameter path and ensuring that it is twice-wrapped with curly braces, but having it be officially supported in the Swagger spec would be the first step.

+1

This is a tooling issue in my opinion.  If you need to do preprocessing of your Swagger document, why does Swagger care how you do it?  This is my first impression on the matter.  If my opinion changes after reading the information above, I'll comment again.

+1

+1

+1

+1 we could really use hostname parameterization!

It would nice nice to somehow incorporate the use of "environments" to the spec (dev, int, qa, prod, etc.) and a hostname for each one.  Prior to selecting the "Try it out!" button, you can select an environment to invoke the API.   The use of Swagger right now just limits to a single host and would be nice to have one place to go to discover API documentation and test against any environment.

@cabbonizio - well, there is a solution to that. As long as the spec is hosted in each environment, you can drop the host altogether, and the 'hosting' host will be assumed. I think leaking into environment management inside the spec itself is somewhat out of scope.

Fair enough @webron.  Is the concept of hostname parameterization still on the table at least?

Anything that's labeled as OpenAPI.Next Proposal is on the table.

good to know...thx for the info @webron.  Looks like there's a decent number of votes.

Another vote here :)
+1

:+1:

:+1:

In the meantime, I used a little markdown magic to provide clients of my services a grid letting them know each environment and host.   If you drop this into the info.description field in the Swagger 2.0 spec it renders very nicely in Swagger UI and Editor just pushes your operations down a bit.  It doesn't help with the test harness but it works for documentation purposes.  Make sure you put a pipe character prior to the below.
  ### Host Mapping By Environment

  | Environment | Network Zone | Host                      |
  |-------------|--------------|---------------------------|
  | Production  | Internal     | sample.host.com
  | Production  | External     | sample.host.com
  | QA          | Internal     | sample.host.com
  | QA          | External     | sample.host.com
  | INT         | Internal     | sample.host.com
  | INT         | External     | sample.host.com

Parent: #560.

parent issue #574

👍   We'd like to provide access to Swagger UI both via a reverse proxy and by directly connecting to the host.

+1

+1

+1

+1

+1

+1
allowing for variable substitution from the request or response for the host name.  similar to #742

The introduction of the Server Object (instead of scheme, host and basePath) with Server Variables covers this now.

@webron, could you please give the link to it ^ ?

@olebedev https://github.com/OAI/OpenAPI-Specification/blob/OpenAPI.next/versions/3.0.md#serverObject

Can this be used for authorization url as well?
See https://github.com/swagger-api/swagger-ui/pull/3410


VSCode reports syntax error for html/jinja code

Type: Bug
hi
i have the below code that VSCode report as syntax error "css(css-propertyvalueexpected)". i am using python/flask/jinja. The variable "list[-1]" within the double curly braces is to be fulfilled by jinja, and therefore the code should be valid.
========================

But this is in fact invalid CSS value. Most likely you should use extension that would provide support for template syntax and suppress errors

Yes, you would need an extension that knows the flask syntax.


Airport sorting

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: estefani29 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


read_mztab is refactored

Refactored read_mztab to write an empty tsv file instead of a file with an empty string when some table is missing. To avoid a lot of repeating if conditions iteration over the tables is now done with __iter__ method of MzTab class from pyteomics.

We need to change the assertions of the empty outputs:
https://github.com/galaxyproteomics/tools-galaxyp/blob/0b12971d956b355140796255e50ffc84e71a2742/tools/pyteomics/mztab2tsv.xml#L63 and line 69
from <assert_contents><has_text text=""""/></assert_contents> to <assert_contents><has_n_lines n="0" /></assert_contents> (assuming that the file has 0 lines).
Also please change version to version="@TOOL_VERSION@+galaxy1" here https://github.com/galaxyproteomics/tools-galaxyp/blob/0b12971d956b355140796255e50ffc84e71a2742/tools/pyteomics/mztab2tsv.xml#L1

We need to change the assertions of the empty outputs:
https://github.com/galaxyproteomics/tools-galaxyp/blob/0b12971d956b355140796255e50ffc84e71a2742/tools/pyteomics/mztab2tsv.xml#L63 and line 69
from <assert_contents><has_text text=""""/></assert_contents> to <assert_contents><has_n_lines n="0" /></assert_contents> (assuming that the file has 0 lines).
Also please change version to version="@TOOL_VERSION@+galaxy1" here https://github.com/galaxyproteomics/tools-galaxyp/blob/0b12971d956b355140796255e50ffc84e71a2742/tools/pyteomics/mztab2tsv.xml#L1

Also please change version to version="@TOOL_VERSION@+galaxy1" here

If we merge this today, I guess we can leave it ... its to fresh ... or have you installed it already :)

Also please change version to version="@TOOL_VERSION@+galaxy1" here

If we merge this today, I guess we can leave it ... its to fresh ... or have you installed it already :)

If we merge this today, I guess we can leave it

OK

If we merge this today, I guess we can leave it

OK


Postgres DB cannot be accessed in RDS Service

this is the issue posted on discord
https://discord.com/channels/983865673656705025/1166586246932480071

We are transition this repo to https://github.com/sst/v2 and are closing this issue for now. If it is still relevant please reopen it there - sorry for the trouble


Fixed #30918 -- Made timesince()/timeuntil() respect custom time strings for future and the same datetimes.

Ticket 30918

@hramezani Thanks!

@hramezani Can I push to your branch? I changed commit message and added two more tests.

Nevermind, I used a wrong branch in the previous attempt.


Implement backoff max

After the interval increases enough it should be capped. Maybe at 1 hour? Maybe at cfg.Frequency?

Implemented in https://github.com/chrisjohnson/azure-key-vault-agent/pull/8
https://github.com/chrisjohnson/azure-key-vault-agent/pull/8/files#diff-5917c8b29b26e5e6fca47810e4b24cafR20


Show progress bar for slow downloads

With fast internet and mainly small or cached packages, you barely even see the download spinner, but when e.g. trying to download torch on bad internet there is no indication how long this task is going to take or whether it got stuck.

Yah, progress bars is one area in which the base pip has massively improved in recent years. It would be nice to have similar output by default in uv as well.

Ah I am so glad this was added.


Add test files for tsql_openjson_with_get_subjsonb engine crash fix

Description
This commit adds test files for the engine fix of the crash in tsql_openjson_with_get_subjsonb.
Engine PR: https://github.com/babelfish-for-postgresql/postgresql_modified_for_babelfish/pull/406
Issues Resolved
BABEL-3820
Test Scenarios Covered

Use case based -

1> SELECT * FROM OPENJSON('{}') WITH(field int 'strict$.field')
2> go
Msg 33557097, Level 16, State 1, Server BABELFISH, Line 1
JSON object does not contain key "field"

1> DECLARE @json NVarChar(max)=N'{"someKey" : "someValue"}';
2> SELECT * from OPENJSON(@json,'$.somePathWhichDoesNotExists') WITH (id VARCHAR(100) '$')
3> go
id
----------------------------------------------------------------------------------------------------
NULL

1> DECLARE @json_p9 NVARCHAR(4000) = N'{"to":{"sub-object":["en-GB", "en-UK","de-AT","es-AR","sr-Cyrl"]}}';
2> SELECT [key], value FROM OPENJSON(@json_p9,'strict $.path.to."sub-object"')
3> go
Msg 33557097, Level 16, State 1, Server BABELFISH, Line 2
JSON object does not contain key "path"

1> DECLARE @json_p10 NVARCHAR(4000) = N'{"to":{"sub-object":["en-GB", "en-UK","de-AT","es-AR","sr-Cyrl"]}}';
2> SELECT [key], value FROM OPENJSON(@json_p10,'$.path.to."sub-object"')
3> go
key                         value
---------------------------------------------------------------------------------------------------------------------------

1> DECLARE @json_p8 NVARCHAR(4000) = N'{"path": {"to":{"sub-object":["en-GB", "en-UK","de-AT","es-AR","sr-Cyrl"]}}}';
2> SELECT [key], value FROM OPENJSON(@json_p8,'strict$.path.to."sub-object"')
3> go
nvarchar#!#nvarchar
0#!#en-GB
1#!#en-UK
2#!#de-AT
3#!#es-AR
4#!#sr-Cyrl

Check List

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 73.023%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
41897

Relevant Lines:
57375

💛  - Coveralls


Monitoring - DO Cluster became unavailable after enabling monitoring

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Added a DO cluster with one node all roles
Enabled cluster level monitoring

Result:
The cluster became unavailable after about 10 hours.
Error message:
This cluster is currently Unavailable; areas that interact directly with it will not be available until the API is ready.

Failed to ensure monitoring project name: failed to find "cattle-prometheus" Namespace: Get https://<IP_ADDRESS>:6443/api/v1/namespaces/cattle-prometheus?timeout=30s: waiting for cluster agent to connect; Failed to communicate with API server: Get https://<IP_ADDRESS>:6443/api/v1/componentstatuses?timeout=30s: tunnel disconnect

Docker logs (snippet):
E1212 16:58:08.218453       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.Service: Get https://<IP_ADDRESS>:6443/api/v1/services?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.190895       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1beta1.PodSecurityPolicy: Get https://<IP_ADDRESS>:6443/apis/extensions/v1beta1/podsecuritypolicies?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.191826       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.ClusterRole: Get https://<IP_ADDRESS>:6443/apis/rbac.authorization.k8s.io/v1/clusterroles?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.192884       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.RoleBinding: Get https://<IP_ADDRESS>:6443/apis/rbac.authorization.k8s.io/v1/rolebindings?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.193906       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.ResourceQuota: Get https://<IP_ADDRESS>:6443/api/v1/resourcequotas?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.195035       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.Secret: Get https://<IP_ADDRESS>:6443/api/v1/secrets?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.196092       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.Role: Get https://<IP_ADDRESS>:6443/apis/rbac.authorization.k8s.io/v1/roles?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.197473       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.NetworkPolicy: Get https://<IP_ADDRESS>:6443/apis/networking.k8s.io/v1/networkpolicies?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.199251       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1beta2.StatefulSet: Get https://<IP_ADDRESS>:6443/apis/apps/v1beta2/statefulsets?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.203801       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1beta1.CronJob: Get https://<IP_ADDRESS>:6443/apis/batch/v1beta1/cronjobs?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.204813       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1beta2.ReplicaSet: Get https://<IP_ADDRESS>:6443/apis/apps/v1beta2/replicasets?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.207744       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.Pod: Get https://<IP_ADDRESS>:6443/api/v1/pods?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.208855       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1beta1.Ingress: Get https://<IP_ADDRESS>:6443/apis/extensions/v1beta1/ingresses?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.210003       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.Event: Get https://<IP_ADDRESS>:6443/api/v1/events?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.211373       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.Namespace: Get https://<IP_ADDRESS>:6443/api/v1/namespaces?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.212382       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1beta2.DaemonSet: Get https://<IP_ADDRESS>:6443/apis/apps/v1beta2/daemonsets?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.213362       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.ClusterRoleBinding: Get https://<IP_ADDRESS>:6443/apis/rbac.authorization.k8s.io/v1/clusterrolebindings?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.214532       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1beta2.Deployment: Get https://<IP_ADDRESS>:6443/apis/apps/v1beta2/deployments?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.215497       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.ReplicationController: Get https://<IP_ADDRESS>:6443/api/v1/replicationcontrollers?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect
E1212 16:58:09.216654       7 reflector.go:134] github.com/rancher/norman/controller/generic_controller.go:175: Failed to list *v1.Node: Get https://<IP_ADDRESS>:6443/api/v1/nodes?limit=500&resourceVersion=0&timeout=30s: waiting for cluster agent to connect

part of log of kubelet in the only node of the cluster
ker/containers/281394ec67869d3572ef5aa441be8f407ac07062126c2409f51dc762f513333c]; will not log again for this container unless duration exceeds 17s
E1212 12:48:30.544394    8495 kubelet_node_status.go:377] Error updating node status, will retry: error getting node "jiaqi-2-0-0-a3-do-cluster1": Get https://<IP_ADDRESS>:6443/api/v1/nodes/jiaqi-2-0-0-a3-do-cluster1?timeout=10s: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
W1212 12:48:30.556570    8495 reflector.go:270] object-"cattle-prometheus"/"cluster-monitoring-token-ktqpc": watch of *v1.Secret ended with: very short watch: object-"cattle-prometheus"/"cluster-monitoring-token-ktqpc": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.556636    8495 reflector.go:270] object-"cattle-prometheus"/"prometheus-cluster-monitoring-hooks": watch of *v1.ConfigMap ended with: very short watch: object-"cattle-prometheus"/"prometheus-cluster-monitoring-hooks": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.589729    8495 reflector.go:270] object-"cattle-prometheus"/"grafana-cluster-monitoring": watch of *v1.Secret ended with: very short watch: object-"cattle-prometheus"/"grafana-cluster-monitoring": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.592328    8495 reflector.go:270] object-"cattle-prometheus"/"grafana-cluster-monitoring-hooks": watch of *v1.ConfigMap ended with: very short watch: object-"cattle-prometheus"/"grafana-cluster-monitoring-hooks": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.592564    8495 reflector.go:270] object-"kube-system"/"rke-metrics-addon": watch of *v1.ConfigMap ended with: very short watch: object-"kube-system"/"rke-metrics-addon": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.592787    8495 reflector.go:270] object-"kube-system"/"rke-kubedns-addon": watch of *v1.ConfigMap ended with: very short watch: object-"kube-system"/"rke-kubedns-addon": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.592817    8495 reflector.go:270] object-"cattle-prometheus-p-5q65b"/"grafana-project-monitoring-dashboards": watch of *v1.ConfigMap ended with: very short watch: object-"cattle-prometheus-p-5q65b"/"grafana-project-monitoring-dashboards": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.593010    8495 reflector.go:270] object-"cattle-prometheus-p-5q65b"/"project-monitoring-token-ltmpw": watch of *v1.Secret ended with: very short watch: object-"cattle-prometheus-p-5q65b"/"project-monitoring-token-ltmpw": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.593645    8495 reflector.go:270] object-"cattle-prometheus-p-5q65b"/"grafana-project-monitoring": watch of *v1.Secret ended with: very short watch: object-"cattle-prometheus-p-5q65b"/"grafana-project-monitoring": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.593677    8495 reflector.go:270] object-"cattle-prometheus"/"exporter-etcd-cert": watch of *v1.Secret ended with: very short watch: object-"cattle-prometheus"/"exporter-etcd-cert": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.593864    8495 reflector.go:270] object-"kube-system"/"rke-network-plugin": watch of *v1.ConfigMap ended with: very short watch: object-"kube-system"/"rke-network-plugin": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.593892    8495 reflector.go:270] object-"cattle-system"/"cattle-credentials-72a6d00": watch of *v1.Secret ended with: very short watch: object-"cattle-system"/"cattle-credentials-72a6d00": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.593920    8495 reflector.go:270] object-"ingress-nginx"/"nginx-ingress-serviceaccount-token-ngb6p": watch of *v1.Secret ended with: very short watch: object-"ingress-nginx"/"nginx-ingress-serviceaccount-token-ngb6p": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.594122    8495 reflector.go:270] object-"cattle-prometheus-p-5q65b"/"grafana-project-monitoring-hooks": watch of *v1.ConfigMap ended with: very short watch: object-"cattle-prometheus-p-5q65b"/"grafana-project-monitoring-hooks": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.594151    8495 reflector.go:270] object-"cattle-prometheus"/"prometheus-cluster-monitoring-nginx": watch of *v1.ConfigMap ended with: very short watch: object-"cattle-prometheus"/"prometheus-cluster-monitoring-nginx": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.594184    8495 reflector.go:270] object-"cattle-prometheus-p-5q65b"/"grafana-project-monitoring-nginx": watch of *v1.ConfigMap ended with: very short watch: object-"cattle-prometheus-p-5q65b"/"grafana-project-monitoring-nginx": Unexpected watch close - watch lasted less than a second and no items received
E1212 12:48:30.718915    8495 webhook.go:89] Failed to make webhook authenticator request: Post https://<IP_ADDRESS>:6443/apis/authentication.k8s.io/v1beta1/tokenreviews: read tcp <IP_ADDRESS>:42340-><IP_ADDRESS>:6443: use of closed network connection; some request body already written
E1212 12:48:30.724369    8495 server.go:226] Unable to authenticate the request due to an error: Post https://<IP_ADDRESS>:6443/apis/authentication.k8s.io/v1beta1/tokenreviews: read tcp <IP_ADDRESS>:42340-><IP_ADDRESS>:6443: use of closed network connection; some request body already written
W1212 12:48:30.726259    8495 reflector.go:270] object-"kube-system"/"canal-config": watch of *v1.ConfigMap ended with: very short watch: object-"kube-system"/"canal-config": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.726914    8495 reflector.go:270] object-"kube-system"/"kube-dns-autoscaler-token-lhdvc": watch of *v1.Secret ended with: very short watch: object-"kube-system"/"kube-dns-autoscaler-token-lhdvc": Unexpected watch close - watch lasted less than a second and no items received
W1212 12:48:30.737832    8495 status_manager.go:485] Failed to get status for pod "canal-k74ng_kube-system(545b4382-fd91-11e8-a8ff-46f9039e5078)": Get https://<IP_ADDRESS>:6443/api/v1/namespaces/kube-system/pods/canal-k74ng: read tcp <IP_ADDRESS>:42340-><IP_ADDRESS>:6443: use of closed network connection
E1212 12:48:30.806119    8495 event.go:212] Unable to write event: 'Patch https://<IP_ADDRESS>:6443/api/v1/namespaces/cattle-prometheus/events/prometheus-cluster-monitoring-0.156f94ec2d904c04: read tcp <IP_ADDRESS>:42340-><IP_ADDRESS>:6443: use of closed network connection; some request body already written' (may retry after sleeping)
E1212 12:48:30.808007    8495 webhook.go:89] Failed to make webhook authenticator request: Post https://<IP_ADDRESS>:6443/apis/authentication.k8s.io/v1beta1/tokenreviews: read tcp <IP_ADDRESS>:42340-><IP_ADDRESS>:6443: use of closed network connection; some request body already written
E1212 12:48:30.808245    8495 server.go:226] Unable to authenticate the request due to an error: Post https://<IP_ADDRESS>:6443/apis/authentication.k8s.io/v1beta1/tokenreviews: read tcp <IP_ADDRESS>:42340-><IP_ADDRESS>:6443: use of closed network connection; some request body already written
I1212 12:48:33.449054    8495 prober.go:111] Liveness probe for "canal-k74ng_kube-system(545b4382-fd91-11e8-a8ff-46f9039e5078):calico-node" failed (failure): Get http://<IP_ADDRESS>:9099/liveness: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
I1212 12:48:35.025808    8495 fsHandler.go:135] du and find on following dirs took 1m17.083149609s: [/var/lib/docker/aufs/diff/ed2d90b1445c22122eb5e677a443f2f10a089a11e58c7ea0e54b038e0e4f336e /var/lib/docker/containers/463b36aa8fbcd75ca4a61adf87855247c17e48f6f1f40b70e166997024fc484f]; will not log again for this container unless duration exceeds 17s
I1212 12:48:38.853708    8495 fsHandler.go:135] du and find on following dirs took 1m16.5721949s: [/var/lib/docker/aufs/diff/ce7f01fcd625a6395298905f0ccbae8af6f03c0e3c0b27e12b047bf8ef2ed479 /var/lib/docker/containers/7614435066fb6212fba2365b7a6c8e71b8691cacf43bf972486de69c5b110978]; will not log again for this container unless duration exceeds 18s
I1212 12:48:39.184175    8495 prober.go:111] Liveness probe for "prometheus-cluster-monitoring-0_cattle-prometheus(4f573f48-fd94-11e8-a8ff-46f9039e5078):prometheus-agent" failed (failure): Get http://<IP_ADDRESS>:9090/-/healthy: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
W1212 12:48:34.399352    8495 prober.go:103] No ref for container "docker://cf127e166b03f10722296694332f6975d49978e6236ef221da54f313aab48c2d" (grafana-cluster-monitoring-5b4bc74756-t8lf9_cattle-prometheus(4d944f19-fd94-11e8-a8ff-46f9039e5078):grafana)
I1212 12:48:39.255548    8495 prober.go:111] Readiness probe for "grafana-cluster-monitoring-5b4bc74756-t8lf9_cattle-prometheus(4d944f19-fd94-11e8-a8ff-46f9039e5078):grafana" failed (failure): Get http://<IP_ADDRESS>:3000/api/health: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
I1212 12:48:41.131472    8495 prober.go:111] Readiness probe for "nginx-ingress-controller-r7dkk_ingress-nginx(f4db21d1-fd91-11e8-a8ff-46f9039e5078):nginx-ingress-controller" failed (failure): Get http://<IP_ADDRESS>:10254/healthz: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
I1212 12:48:41.838033    8495 prober.go:111] Readiness probe for "prometheus-cluster-monitoring-0_cattle-prometheus(4f573f48-fd94-11e8-a8ff-46f9039e5078):prometheus-agent" failed (failure): Get http://<IP_ADDRESS>:9090/-/ready: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
W1212 12:48:44.951023    8495 prober.go:103] No ref for container "docker://01b07aef56cb00239d927fdf3221fc53dc6160581d164b416383aefce2270c32" (grafana-project-monitoring-694c4b9b8-54b6t_cattle-prometheus-p-5q65b(d56c2915-fd94-11e8-a8ff-46f9039e5078):grafana)
I1212 12:48:45.078259    8495 prober.go:111] Liveness probe for "kube-dns-ddddcfcc8-w824k_kube-system(56ee1db9-fd91-11e8-a8ff-46f9039e5078):dnsmasq" failed (failure): Get http://<IP_ADDRESS>:10054/healthcheck/dnsmasq: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
W1212 12:48:47.731484    8495 prober.go:103] No ref for container "docker://cf127e166b03f10722296694332f6975d49978e6236ef221da54f313aab48c2d" (grafana-cluster-monitoring-5b4bc74756-t8lf9_cattle-prometheus(4d944f19-fd94-11e8-a8ff-46f9039e5078):grafana)
I1212 12:48:47.734240    8495 prober.go:111] Readiness probe for "grafana-cluster-monitoring-5b4bc74756-t8lf9_cattle-prometheus(4d944f19-fd94-11e8-a8ff-46f9039e5078):grafana" failed (failure): Get http://<IP_ADDRESS>:3000/api/health: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
E1212 12:48:48.216052    8495 reflector.go:134] object-"cattle-prometheus"/"grafana-cluster-monitoring": Failed to list *v1.Secret: Get https://<IP_ADDRESS>:6443/api/v1/namespaces/cattle-prometheus/secrets?fieldSelector=metadata.name%3Dgrafana-cluster-monitoring&limit=500&resourceVersion=0: read tcp <IP_ADDRESS>:42542-><IP_ADDRESS>:6443: use of closed network connection
I1212 12:48:50.781441    8495 prober.go:111] Liveness probe for "kube-dns-ddddcfcc8-w824k_kube-system(56ee1db9-fd91-11e8-a8ff-46f9039e5078):kubedns" failed (failure): Get http://<IP_ADDRESS>:10054/healthcheck/kubedns: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Other details that may be helpful:

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.2.0-alpha3
Installation option (single install/HA): single install

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported):
Machine type (cloud/VM/metal) and specifications (CPU/memory):
Kubernetes version (use kubectl version):

(paste the output here)

Docker (use docker info):

Containers: 1
 Running: 1
 Paused: 0
 Stopped: 0
Images: 1
Server Version: 17.03.2-ce
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 14
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 4ab9917febca54791c5f071a9d1f404867857fcc
runc version: 54296cf40ad8143b62dbcaa1d90e520a2136ddfe
init version: 949e6fa
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.4.0-103-generic
Operating System: Ubuntu 16.04.3 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.796 GiB
Name: jiaqi-rancher-2-0-0-a3
ID: HUDH:QL2Q:UNRI:N5JV:UCPB:KFKM:JFHQ:FXFR:A2PV:YHFA:VPEX:HQB5
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

WARNING: No swap limit support

Update:  The reason for the error might be the memory of the node is too small for enabling monitoring.  I am going to test with nodes with more memory.

@jiaqiluo , how about after you resized the testing cluster?


Assign a different color to each mini-equation

Thanks for making this!
It's easier to see how the multiplication in Matrix AB corresponds to the new entries in Matrix C if each mini-multiplation-equation has a different color, like this:

However, when Matrix B has more than 2 columns, more than 2 colors are required, and I don't know how many / which unique colors you want to build into the site. Also, the multiple colors could be distracting to some people.
My modifications (that only work with a 2-column Matrix B):
Matrix A
// src/Calculator/views/matrixA.ts

      const intersectionTransform = `
        scale(${styles.cellScaleWhenIntersecting})
        translateX(${-styles.cellTranslateXWhenIntersecting}px)
        translateY(${styles.cellTranslateYWhenIntersecting}px)
      `;
      if (rowOfCell === firstIntersectRow + 1) {
        cellElem.style.transform = intersectionTransform;
        cellElem.style.color = styles.colorPallete.orange;
      } else if (rowOfCell === lastIntersectRow) {
        cellElem.style.transform = intersectionTransform;
        cellElem.style.color = styles.colorPallete.blue;
      } else {
        cellElem.style.transform = null;
        cellElem.style.color = null;
      }

Matrix B
// src/Calculator/view/matrixB.ts

      const intersectionTransform = `
        ${rotateZTransform}
        scale(${styles.cellScaleWhenIntersecting})
        translateX(${styles.cellTranslateXWhenIntersecting}px)
        translateY(${-styles.cellTranslateYWhenIntersecting}px)
      `;
      if (
          firstIntersectCol < colOfCell &&
          colOfCell <= lastIntersectCol &&
          colOfCell === 0
      ) {
        cellElem.style.transform = intersectionTransform;
        cellElem.style.color = styles.colorPallete.blue;
      } else if (
          firstIntersectCol < colOfCell &&
          colOfCell <= lastIntersectCol &&
          colOfCell === 1
      ) {
        cellElem.style.transform = intersectionTransform;
        cellElem.style.color = styles.colorPallete.orange;
      } else {
        cellElem.style.transform = rotateZTransform;
        cellElem.style.color = null;
      }

Matrix C
// src/Calculator/views/matrixC.ts

      if (rowOfCell + colOfCell > state.step - 2) {
        cellElem.style.color = null;
        cellElem.style.opacity = '0.01';
      } else if (rowOfCell + colOfCell === state.step - 2) {
        cellElem.style.color = (
          colOfCell === 1 ?
          styles.colorPallete.orange :
          styles.colorPallete.blue
        );
        cellElem.style.opacity = '1';
      } else {
        cellElem.style.color = null;
        cellElem.style.opacity = '1';
      }

Came here (from fast.ai's machine learning course) to say this.


Update mousetrap.js (fix for keyup with multiple modifiers)

Changes to ensure that keyup fires when combination consists of multiple modifiers and ends with a modifier key.

Will this be merged at some time ?

Yeah, I'm having this exact same issue ... @ccampbell can you take a look? 😄


Multiple CronJobs

Hi Chan,
As far as i can tell, the current code base is unable to handle multiple registrations of the same cron object:
services.AddCronJob<MyCronJob>( c=> .... )
services.AddCronJob<MyCronJob>( c=> .... )

This questions was already asked by @markofranjic , but in this case, i'm not able to construct a single cron expression. I have two crons which cannot be simplified to one.
How would you suggest to change the code base to handle multiple cron job entries?

@LucasVos , I guess the question is still similar to the issue #3 . In other words, How to execute the same CronJob at multiple schedules. Could you share your schedules here?
If in the end, the schedules are hard to construct, then I can improve the code to take a list of cron expressions.

close this issue due to age..


Windows compatible development

Update stereoscope to be compatible with development on windows
Running tests on windows would prove difficult for the following reasons:

bash shells called during testing for state configuration

(solution add build tags until future improvements can be made to orchestrate state correctly on each OS)

skopeo does not have a windows release

(solution add build tags to ignore tests leveraging skopeo for windows until skopeo is supported)
https://github.com/containers/skopeo/issues/715

posix test paths were being incorrectly converted to windows paths causing mutliple tests to fail

Screen shots of behavior in order:
Bash Errors

Skopeo Errors

Inadvertant filepath conversion

@kzantow excludes windows now rather than writing an allow list for all possible GOOS


Colliding events when using Swipeouts in Popups

Using lists with Swipeouts inside Popups causes unexpected behaviour.
This is because the Swipeout close event collides with the close event consumed by the Popup causing the popup to close on Swipeback. My recommendation would be to namespace these events having for instance swipeout:close etc.

What exactly unexpected behaviour do you mean?

Closing due to inactivity


fix(readme): update screenshot of app

Description:
Update README screenshot of app

Coverage remained the same at 19.436% when pulling 006afb9be3e4ad040ca054b2fea27ea9839950d2 on fix/readme-screenshot into 8cea6239785af101e78d78614a0763577685d30f on master.

Updated @mrfelton


ftm : ESP32-C3 (rev.2) does not answer ftm requests (IDFGH-5879)

Environment

Development Kit:      [ESP32-C3-DevKitM-1]
Kit version (for WroverKit/PicoKit/DevKitC): [v1.6]
Module or chip used:  [ESP32-C3-MINI-1]
IDF version (run git describe --tags to find it): 4.3.1
Build System:         [CMake]
Compiler version (run xtensa-esp32-elf-gcc --version to find it): esp-2021r1-8.4.0
Operating System:     [Windows]
(Windows only) environment type: [PowerShell].
Using an IDE?: [Yes (VSCode + esp-idf extension)]
Power Supply:         [USB]

Problem Description
I am testing the barebone "ftm" example between an EPS32-S2 and an ESP32-C3. The ESP32-S2 works as expected both in Initiator mode and AP mode.
The ESP32-C3 only works in Initiator mode. I tested with both an Android smartphone and an ESP32-S2 and I get the same result. In AP mode, the ESP32-C3 advertises the FTM capability but never answers the queries, coming from both an ESP32-S2 and an Android smartphone.
The other way around, with an ESP32-S2 as AP and the ESP32-C3 as initiator, I get results.
Expected Behavior
In AP mode, the ESP32-C3 should not only advertise FTM capability but also answer FTM queries.
Actual Behavior
In AP mode, the ESP32-C3 only advertises FTM capability but does not answer FTM queries.
Steps to reproduce

compile & flash "ftm" example on both an ESP32-C3 and an ESP32-S2
On the ESP32-C3, start an ap as in the example : ap FTM password
On the ESP32-S2, scan for ap's : scan : you should see the ESP32-C3 ap
On the ESP32-S2, Initiate the ftm process : ftm -I -s FTM : you should get distance estimate, instead you get an error.

Code to reproduce this issue
Simply clone the "ftm" example.
Debug Logs
ftm> scan
I (2451499) ftm_station: sta start to scan
I (2453599) ftm_station: [FTM][rssi=-45][FTM Responder]
I (2453619) ftm_station: sta scan done
ftm> ftm -I -s FTM
I (2654999) ftm_station: Requesting FTM session with Frm Count - 32, Burst Period - 200mSec (0: No Preference)
W (2654999) wifi:Starting FTM session with 7c:df:a1:42:f2:1d in 0.82 Sec
W (2655009) wifi:Mode: non-ASAP, Bursts: 8, FTM's per burst: 4, Burst Period: 200mSec, Burst Duration: 32000uSec
ftm> E (2656529) wifi:No valid FTM Measurements found!
I (2656529) ftm_station: FTM procedure with Peer(7c:df:a1:42:f2:1d) failed! (Status - 4)

@Sch-LikA, do you have a ESP32-C3 (rev 3) module with you? Revision 2 and older modules are no longer supported with latest IDF v4.3.1.
Also we're not able to observe this issue on the Rev 3 boards. It could be older code related or module related, in either case moving to the Rev 3 module is a good idea.

@Sch-LikA, do you have a ESP32-C3 (rev 3) module with you? Revision 2 and older modules are no longer supported with latest IDF v4.3.1.

Which commit removes rev < 3 ?
Below config is available in v4.3 and master branches:
https://github.com/espressif/esp-idf/blob/release/v4.3/components/esp32c3/Kconfig#L26-L42

You're right, I wasn't aware this option was configurable. Using it and testing on Rev 1, I can see the issue. The sniffer shows that FTM measurement frames have zero for timestamps. The issue is that ESP32-C3 modules older than Rev 3 do not have the necessary ROM code to support FTM, so the values come out as zero. For ESP32-S2 this code is not in ROM so the support became available with latest code. So in conclusion, this goes back to my previous suggestion, that upgrading to Rev3 will be a good idea, hope it's clear, thanks.

You're right, I wasn't aware this option was configurable. Using it and testing on Rev 1, I can see the issue. The sniffer shows that FTM measurement frames have zero for timestamps. The issue is that ESP32-C3 modules older than Rev 3 do not have the necessary ROM code to support FTM, so the values come out as zero. For ESP32-S2 this code is not in ROM so the support became available with latest code. So in conclusion, this goes back to my previous suggestion, that upgrading to Rev3 will be a good idea, hope it's clear, thanks.

OK that is clear then. Too bad. I tried ordering some new ones but they are not deliverable anymore, probably due to global shortage. Too bad.


can not rendering tables

i have following code
| port | **Effect** |
|------| -----------|
| &h60 | Returns the keyboard scancode for the current key pressed or the last key released. The scancodes returned by INP(&h60) are those listed in the keyboard scancodes table. If a key is currently down, the return value is its scancode. If no key is down, the return value is the scancode of the last key released, incremented by 128.|
| h201 | Returns the value of the game port (joystick port). This value is constructed below. <br> The button bits are 0 when the button is fired, 1 otherwise. The axis values are normally 0 but are set to 1 by OUT &h201, x and then fall back to 0 after a delay. The longer the delay, the higher the axis value.|
| other values | Returns zero.|

| Bit | Meaning |
|----|------|
| 0 |joystick 2 x-axis |
| 1	  |joystick 1 y-axis |
| 2	  |joystick 1 x-axis |
| 3	  |joystick 2 y-axis |
| 4	  |joystick 2 button 1 |
| 5	  |joystick 1 button 2 |
| 6	  |joystick 1 button 1 |
| 7	  |joystick 2 button 2 |

when i paste it http://showdownjs.github.io/demo/. I got the correct output but when i use same code for my app i get this with no error.

I am getting this block in  rather than

As per the readme and the documentation you need to turn on the tables option.

through the constructor
var converter = new showdown.Converter({tables: true});

through the setOption() method
var converter = new showdown.Converter();
converter.setOption('tables', 'true');

thanks working fine


Support for headers in system tests executed by vespa test

Hello Vespa team!
I have come across with the need of creating system tests with http requests with headers.
I would usually execute them with vespa test and a json file describing the test configuration.
However, it seems that http requests with headers are not supported with vespa test and I have found that the only way to test them are with Java API tests, as stated in https://docs.vespa.ai/en/testing.html.
The documentation suggests the Java API tests are for complex tests in mind, but I think just adding a header to an http request doesn't count as a complex situation at all and just adds too much complexity to simple system tests that just require adding an additional header.
Would it be possible to add the ability of executing http requests with headers for vespa test system tests?
What I had in mind was a configuration similar to this to execute an http request with headers:
"steps": [
        {
            "name": "get documents",
            "request": {
                "method": "GET",
                "uri": "/document/v1",
                "parameters": {
                    "cluster": "music",
                    "selection": "true"
                },
                "headers": {
                    "context": "{\"key\": \"value\"}"
                }
            }
        }
]

Thank you.
Kind regards,
Sergio Moreno López.

The headers fields can now be set in tests. Available as of 8.265.12.


Add state filtering in QD

Filtering documents based on the state you are looking for may help researchers to develop projects within geographical areas.

Português
Transferi a issue aqui pro repositório da API @Luisa-Coelho . Seria possível adicionar esse filtro por unidade federativa por aqui.
English
I transferred the issue to this API repo @Luisa-Coelho . It would be possible to add this filter by state here.


How to close all item children when closing item in Explorer

There is solved issue here #32550, however, i want to know how to make this a default behaviour, when clicking on item in Explorer (without ALT)

@joaomoreno All JetBrains IDE's work that way..
Also why is this closed, if it's not solved?