Feature/netty dns over https

Motivation:
The motivation behind this change is to enhance Netty's capabilities by supporting DNS over HTTPS (DoH). DoH is an important protocol for securely performing DNS resolution over HTTPS, which improves privacy and security for DNS queries by preventing eavesdropping and manipulation of DNS data by man-in-the-middle attacks.
Currently, Netty supports traditional DNS resolution, but lacks built-in support for DoH. By adding this feature, Netty will be able to cater to a broader range of use cases and comply with modern security and privacy standards.
Modification:

Implemented a DoH client that can perform DNS queries over HTTPS.

Added handlers to encode and decode DoH requests and responses.

Provided configuration options to enable and customize DoH queries.

Added samples to verify the functionality and correctness of the DoH implementation.

Result:
This PR introduces support for DNS over HTTPS (DoH) in Netty. Users can now configure and use the DoH client to perform DNS resolutions over HTTPS, ensuring improved security and privacy for DNS queries. This feature enhances Netty's DNS resolver capabilities and aligns it with modern DNS resolution practices.
This PR adds DNS over HTTPS (DoH) support to Netty, providing a secure and private way to perform DNS resolution over HTTPS.

@normanmaurer Thanks for your comments. I've corrected all the issues.

@normanmaurer I resolved the other issues. Thanks for your review.

Committed the buffer release suggestion.

@normanmaurer
I resolved the other issues. Thanks for your review.

@normanmaurer
I've resolved new issues. Thanks for your review.


Add new job while worker already started

Hi everybody!
I'm trying to figure out a way to add a new Job to schedule with node-schedule while a worker already started working.
That's my idea:
const jobs = {/*...*/}; // a bunch of jobs defined here.
const worker = new NodeResque.Worker(
  {connection: connectionDetails, queues: ['math', 'otherQueue']}, jobs);

function addNewJob(job) {
  jobs[job.name] = jobs[job.name];
}

const newJob = {name: 'abc', 'abc': { perform: () => 'hello'}};
addNewJob(newJob);

But the problem is that the worker seems to get a shallow copy of the jobs defined at the top of this code.
Any workaround?
Thanks in advance!

Labeling this with will-not-fix.
The reasons why the worker needs to know about all possible jobs ahead of time is twofold:

You can't actually do the job (exception thrown, akin to method undefined)
There may be lifecyle events which need to be considered by jobs you won't work

What issues are you running into with restarting your process?  How are you defining new jobs without deploying your code?  If you want a more dynamic handler, why not have one defined "work" job, whose arguments are the dynamic method you want to call?


Fixed autofocus input

Fixed #106
The auto focus effect is caused by this line:
findDOMNode(this.refs.telInput).setSelectionRange(len, len)

Awesome work @patw0929 ! Could you merge and publish this? :fireworks:


add compatibility to watchOS 6.0

add compatibility to watchOS 6.0

Hi @pjcau :
Thanks for contributing.
I guess those xcuserdata files should not be part of the commit.

Closing, due to inactivity.


fix: correct base offset of field_inv

The correct offset here seems to be 324, following set_player_fake_inebriation.
Found it from AC:

I know it's slightly convoluted, but this is actually auto generated from this data. If you make the change there and then run cargo gen it will be correct.

Oh, I see

@Dantsz It seems the code did not apply correctly, so you might need to use commit https://github.com/gtker/wow_messages/commit/55c2b641b7dbd09ca1de882f5fce814e4a91c068 instead of the main right when this PR got merged.


Feature branch finetune

Closing this for now. Looks like an accident push of the personal fork. Let me know if it's not the case. Thank you.


Total Check count, and completed check counts do not match

for tool run, if check is bypassed or not done (could be not applicable), the total count does not show it... so  tool output shows "32 checks", but then run results will show 30 passed, 0 failed
The count should match, and we should add a "bypassed" or "not applicable" check count

JIRA TIcket - https://jira-eng-sjc4.cisco.com/jira/browse/SDWANAURA-58


Filter Invalid upgrade and Wondex fix

"filter.invalid" filters now impossible positions.
In Wondex protocol answers to messages are no longer marked as invalid, even without position.
Sat over 2 check removed.
Wondex decoder test changed to pass because of the removed Sat over 2 check

Merged, thanks.

Hello
Frankly I think it is not good idea to make all positions valid for wondex protocol. It is not true.
here is quote from documentation

The device returns the last valid GPS information upon request regardless the
GPS reception. The parameter of “Number of Satellites” is ‘0’ if there is no GPS
reception or GPS is not fixed. Thus the parameter of “number of satellite” could be
a reference to check whether there is GPS reception or not.

That's true for many protocol. It returns outdated, but valid location. It's still valid, so should be marked as valid. Timestamp would indicate that it's outdated.

Unfortunately, wondex devices do not report fixTime separately.
Do we have any attribute to mark it "outdated" ?

Oh, sorry. We have ordinary field for this.

That field is only for marking positions that didn't have any location data. Also, it's not saved in the database.
Are you sure time returned by the device is not "fix time"?

Yes, first position after morning wake up has previous coordinates, satellites = 0 and current time, not yesterday.

OK, maybe we should check if satellites number is zero.

And mark such position as invalid?

@Abyss777, will you change this, or should I do it? If you want to fix this we could also change jobs, I could fix this, because I would need help with the "duplicate.filter issue" I opened...

@5of9 It's already implemented and merged in #3258


plotman interactive fails after few successfuly ploted plots

Describe the bug
i was running plotman interactive , everything was good, at the morning i checked my pc and saw
Traceback (most recent call last):
File "/usr/local/bin/plotman", line 8, in
sys.exit(main())
File "/home/user/.local/lib/python3.8/site-packages/plotman/plotman.py", line 177, in main
interactive.run_interactive()
File "/home/user/.local/lib/python3.8/site-packages/plotman/interactive.py", line 334, in run_interactive
curses.wrapper(curses_main)
File "/usr/lib/python3.8/curses/init.py", line 105, in wrapper
return func(stdscr, *args, **kwds)
File "/home/user/.local/lib/python3.8/site-packages/plotman/interactive.py", line 261, in curses_main
jobs_win.addstr(0, 0, reporting.status_report(jobs, n_cols, jobs_h,
File "/home/user/.local/lib/python3.8/site-packages/plotman/reporting.py", line 95, in status_report
row = ['...'] + ([''] * len(headings) - 1)
TypeError: unsupported operand type(s) for -: 'list' and 'int'
Before that error it succsessfuly created abot 20 plots...
To Reproduce
Steps to reproduce the behavior, e.g.:

Set up config with '...'  gui with plotman dev
Run other programs '....' no
Run Plotman with '....' plotman interactive
See error

Expected behavior
no error
System setup:

OS: Ubuntu 20.04
Method of archiving NONE

Config
 32cores, 2x4tb ssd nvme (intel p4501) , 128gb ram ,4 12tb hdd
# paste your complete configuration file contents here.
---
directories:
  dst:
    - /media/user/part3
    - /media/user/part4
    - /media/user/hdd5
    - /media/user/part6
  log: /home/user/.config/plotman/logs
  tmp:
    - /media/user/ssd1
    - /media/user/ssd2
plotting:
  e: false
  farmer_pk: my farmer key
  job_buffer: 3800
  k: 32
  n_buckets: 128
  n_threads: 2
  pool_pk: my pool key
scheduling:
  global_max_jobs: 32
  global_stagger_m: 30
  polling_time_s: 50
  tmpdir_max_jobs: 16
  tmpdir_stagger_phase_limit: 14
  tmpdir_stagger_phase_major: 3
  tmpdir_stagger_phase_minor: 1
user_interface:
  use_stty_size: true

</details>

**Additional context & screenshots**
<!-- Add any other context about the problem here, including screenshots. -->

@altendky any ideas?) accured to me second time. help please :) thank you.

Fixed a bit ago in https://github.com/ericaltendorf/plotman/pull/597.  You can install using the regular instructions but replace @main with @development to get the fix now.  Thanks for the report, sorry for the hassle.

@altendky wow, thanks!

problem solved


description Field for subtasks

Hi,
first of all: thanks for the great app!!! I was searching for years for THIS app!
Only thing I'm Missing is an description/Comment fielt for subtasks.
Thanks
jknapp82

I don't understand the need to have description/comments/due date or whatever for subtasks since you already have that for task? Why not just link tasks together?
What is your use case?

-> #176

#176 describes exactly what I need. Your (fguillot) comment was
"Otherwise a textarea for a long markdown description can be added."
This would be perfekt!
a little bit of background: I'm "influenced" by the "getting things done" philosophie, and breaking Tasks into subtasks with a detailed description what to do for each subtask is a basic thing there. The reason is, that you don't want to search for the details, needed for your subtask in the "big overall description" which cost time and concentration.
Thanks a lot!

Ok, so I close that ticket because that duplicate #176


CB-12565: DES deletion and env termination fail if the RG name contains a dot

CB-12565: DES deletion and env termination fail if the RG name contains a dot
This PR fixes the regex pattern to extract resource group name from resource id, specifically for disk encryption set (DES).
As per Azure documentation, resource group name - Can include alphanumeric, underscore, parentheses, hyphen, period (except at end), and Unicode characters that match the allowed characters. 'RESOURCE_GROUP_NAME' pattern is updated to extract the name correctly.

rebase pls


[nfc] fix typo colossalai/ applications/

📌 Checklist before creating the PR

[ ] I have created an issue for this PR for traceability
[x] The title follows the standard format: [doc/gemini/tensor/...]: A concise description
[x] I have added relevant tags if possible for us to better distinguish different PRs

🚨 Issue number
Not involved
📝 What does this PR do?
fix typo colossalai/ applications/
detail info
modified:   applications/Chat/coati/ray/src/detached_replay_buffer.py
modified:   applications/Chat/coati/ray/src/experience_maker_holder.py
modified:   applications/Chat/coati/ray/src/pipeline_strategy.py
modified:   applications/Chat/evaluate/evaluator.py
modified:   applications/Chat/evaluate/metrics.py
modified:   colossalai/auto_parallel/tensor_shard/node_handler/matmul_handler.py
modified:   colossalai/auto_parallel/tensor_shard/utils/broadcast.py
💥 Checklist before requesting a review

[ ] I have linked my PR to an issue (instruction)
[x] My issue clearly describes the problem/feature/proposal, with diagrams/charts/table/code if possible
[x] I have performed a self-review of my code
[x] I have added thorough tests.
[x] I have added docstrings for all the functions/methods I implemented

⭐ Do you enjoy contributing to Colossal-AI?

[x] 🌝 Yes, I do.
[ ] 🌚 No, I don't.

Tell us more if you don't enjoy contributing to Colossal-AI.

Appreciate it!


Cannot apply ktlint_standard_multiline-expression-wrapping

Hi, I have a problem with applying ktlint_standard_multiline-expression-wrapping=disabled rule in my project, whenever I try to run ktlint job from org.jlleitschuh.gradle.ktlint I get this error:
Skipping rule(s) which are depending on a rule which is not loaded. Please check if you need to add additional rule sets before creating an issue.
  - Rule with id 'RuleId(value=standard:string-template-indent)' requires rule with id 'RuleId(value=standard:multiline-expression-wrapping)' to be loaded

I have confirmed that other 'basic' rules work, like max-length for example. I am not sure if this is caused by ktlint or the gradle plugin that I'm using to format.

You want to disable rule multiline-expression-wrapping which is required to load another rule string-template-indent as you can read in the message. You will have to disable that rule as well (and repeat this process in case you get similar messages).

Hey @paul-dingemans, this is exactly what I did and it results in no changes in my code whatsoever. Here is the content of .editorconfig file:
[*.{kt,kts}]
ktlint_standard_multiline-expression-wrapping=disabled
ktlint_standard_string-template-indent=disabled

As I mentioned, I confirmed this config is being loaded properly by trying other properties.
What I would like to achieve:
Instead of having this:
context =
    SystemContext(
        categoryId = this.categoryId,
        siteCode = this.siteCode,
        tenantExtension = this.tenantExtension,
        requestContext = this.requestContext,
    ),

I want this:
context = SystemContext(
    categoryId = this.categoryId,
    siteCode = this.siteCode,
    tenantExtension = this.tenantExtension,
    requestContext = this.requestContext,
),

Perhaps there is a different property that would help me achieve this?

Hey @paul-dingemans, this is exactly what I did and it results in no changes in my code whatsoever. Here is the content of .editorconfig file:
[*.{kt,kts}]
ktlint_standard_multiline-expression-wrapping=disabled
ktlint_standard_string-template-indent=disabled
As I mentioned, I confirmed this config is being loaded properly by trying other properties.
I have also tried to set those properties through the plugin itself, but got no result as well.
What I would like to achieve:
Instead of having this:
field =
    Class(
        property1 = this.property1,
        property2 = this.property2,
        property3 = this.property3,
        property4 = this.property4,
    ),

I want this:
field = Class(
    property1 = this.property1,
    property2 = this.property2,
    property3 = this.property3,
    property4 = this.property4,
),

Perhaps there is a different property that would help me achieve this?

Looking at the trailing comma this is still a partial example. I cannot help you efficiently with that.
You can help yourself by using Ktlint CLI. In lint-mode it will tell you exactly which rule causes the expression to be wrapped.


Fix bug: In RefreshContainers, containers created after ListContainers are lost

In function RefreshContainers, containers created after ListContainers are lost, which will make swarm return ""Container created but refresh didn't report it back" error.
Signed-off-by: menghui.chen<EMAIL_ADDRESS>

Looks like we would not be able to merge this PR because of merge conflicts. Please rebase, fix conflicts, and force push to your branch.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "master" git@github.com:jimmycmh/swarm.git somewhere
$ cd somewhere
$ git rebase -i HEAD~2
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.


Fix CMake Warning: Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules are removed

When running cmake configure on this project I get:

CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
the cmake_policy command to set the policy and suppress this warning.

This is caused by usage of deprecated functionality find_package(PythonInterp 3) in the root CMakeLists.txt.
Relevant CMake documentation: https://cmake.org/cmake/help/latest/policy/CMP0148.html

The FindPythonInterp and FindPythonLibs modules are removed.
These modules have been deprecated since CMake 3.12. CMake 3.27 and above prefer to not provide the modules.

Here's the new way of finding Python: https://cmake.org/cmake/help/latest/module/FindPython3.html#module:FindPython3

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

Seems that src/CMakeLists.txt has a couple places where the PYTHONPATH is being passed in. I was hoping this would be an easy fix but it might not be. @rpavlik do you have any thoughts?
https://github.com/KhronosGroup/OpenXR-SDK-Source/blob/650f7514c16382828e363146b78330cc365cd83e/src/CMakeLists.txt#L426

Thanks @maksim-petukhov, your suggestion worked.

Will this work as far back as CMake 3.16?


Client Vue: connection to server is erroring. write EPIPE

When I opened a vue project, I encountered an error like this:

It makes my vue file lose all prompt function.
My extension version is v2.0.7. How to solve this problem？

Seems to be a duplicate of https://github.com/vuejs/language-tools/issues/4130. Using the latest VSCode version or downgrading the extension to v2.0.6 should fix it.

Duplicate of https://github.com/vuejs/language-tools/issues/4130


previous issue was too long for discord

Thebeanogamer is my sleep paralysis demon. On those cold winter evenings where the warmth of my bedsheets does little to stave off the freezing darkness of the night, I see him there at the end of my bed. His bulging eyes staring into my soul as I stir, unable to move, burrowing into my deepest thoughts looking for any spark of opinion or individuality, ready to stamp it out at the first glint of revolution in my eye. He opens his mouth. A fleeting cold sweat breaks out all over my limp body as I see him move towards me, his evanescent form glowering menacingly. Unable to move or react I summon all my bodily strength and shout the one thing I know will ward him off, the one phrase which will keep me safe from his nefarious clutches, the inescapable force that is Thebeanogamer’s Ban Hammer.  Waking up and giving the room a quick once-over to ensure his dread-inducing presence has vacated, I go back to sleep.


Reworked build script to build multiple versions of each package

Improvements:

Added more automation to install toolchain and dependencies.
Added a loop to build all Python versions, including 3.11 all at once.
Versions are retrieved for each package, and we try building every tag with no letter after 2021.

# first time will build deps and all packages with a tag higher than 2021
./make.sh

# debug a package after dependencies and environment are installed
./make.sh --skip-deps --skip-envs --package package_name

# build less versions
./make.sh --year 2022
./make.sh --skip-deps --skip-envs --year 2022 --package package_name

Issues:

The build script edits the version in each yaml file so it does appear as a diff to git. Maybe best to pass it as a parameter to build-wheel.py?
Some packages like preshed are depending on Cython. How do you build that?
I did not change any versions in the yaml and some packages cannot apply patch files like murmurhash or statsmodels. Something not committed or they were not building?
make OpenSSL-wheels doesn't work for me in apple support so I cannot build cryptography. All others work fine.
twisted doesn't build with AttributeError: twisted has no attribute __version__.

To Discuss:

I added a file versions.py but we may consider moving one loop from make.sh doing all versions directly into build-wheel.py to keep all the Python code together?

Regarding your specific questions:

The build script edits the version in each yaml file so it does appear as a diff to git. Maybe best to pass it as a parameter to build-wheel.py?

Agreed - at the very least, manually modifying the script would make parallelisation near impossible.

Some packages like preshed are depending on Cython. How do you build that?

Cython is a requirement of the build environment, not the runtime environment - so, your local macOS Python environment needs to have Cython installed; but that Cython install generates C code that can be built on iOS. There's no dependency on Cython at runtime; it's a quirk of Python's "build == runtime" assumption leads to Cython being listed as a dependency.

I did not change any versions in the yaml and some packages cannot apply patch files like murmurhash or statsmodels. Something not committed or they were not building?

STATUS-iOS.md has the current build status, and a summary of the origin of build problems; statsmodels was a known to have issues related to Cython, and something to do with PEP517 running setup.py during download. I'm not aware of any issues with murmurhash, though, and I haven't got anything un-committed or un-pushed in my local repo.

make OpenSSL-wheels doesn't work for me in apple support so I cannot build cryptography. All others work fine.

Hrm... that's weird. Can you share the error you're seeing?

twisted doesn't build with AttributeError: twisted has no attribute __version__.

Again, I don't have any local changes that aren't pushed. However, Twisted uses calver, and the version we've published is 19.10; if you're building versions from 21.0+, then it's possible that they've made a change altering how they get the Twisted version.

To Discuss:

I added a file versions.py but we may consider moving one loop from make.sh doing all versions directly into build-wheel.py to keep all the Python code together?

I don't mind there being an external Python file for this sort of functionality (although maybe the script should be in the env folder so it's treated as a "build environment" script). While we could modify the build-wheel script to build multiple versions, my inclination (as indicated in the review comments) would be to go the other direction - keep build-wheel.py as a "build one wheel" script, and modify this build script to be a "build one Python version" script.

Twisted is fine if I go back to 2019 and 2020. So something broke in 2021. Sending you the wheels that are fine.

Openssl is also fine if I build everything first. So calling make OpenSSL-wheels clearly has a dependency problem. Like you said, it's kind of painful to build the entire Python package just to get tiny dependencies. In the context of a CI environment, we don't want to wait on this (even if it could be cached). The best option is to have binary available in the same or another repo.

About the wheels and the dependencies issue, I think we should trust the original package dependencies (automated with queries like I do for the version) for each version. So before building, I could replace the minimum version for each dependency in the yaml but this must clearly be done in build-wheel.py when receiving a new version. The package version should be removed from the yaml as well and passed as a parameter.
The Android guys should have the same issue on their side as well if they build multiple versions.
That will probably fail some Python 3.11 wheels where the dependencies cannot be built for some older version but this is not an issue to me if we lose some.

The best option is to have binary available in the same or another repo.

Absolutely agreed. The current setup is something that has evolved over a long time, and is badly in need of a refactor.

About the wheels and the dependencies issue, I think we should trust the original package dependencies (automated with queries like I do for the version) for each version.

To be clear - by "original" do you mean the ones published by the packages themselves (e.g., in numpy sources), or "original" in the sense of the original chaquopy code? I agree that the former would be preferable; the chaquopy definitions only exist because of the complication of getting the build system to install iOS versions of packages on a host build.

So before building, I could replace the minimum version for each dependency in the yaml but this must clearly be done in build-wheel.py when receiving a new version. The package version should be removed from the yaml as well and passed as a parameter.

There are two other options:

We can use meta-packages like oldest-supported-numpy
The YAML could be modified to be version-dependent - i.e., specify different dependencies for each Python version.

The latter would be my preferred option, as it's a more general solution, and has a direct analog with normal Python dependencies. Whether we use the ; python_version==3.10 syntax or something else is open to discussion.

The Android guys should have the same issue on their side as well if they build multiple versions.

Yeah - I discussed this with @mhsmith yesterday; there's definitely a general issue that needs to be addressed here.

That will probably fail some Python 3.11 wheels where the dependencies cannot be built for some older version but this is not an issue to me if we lose some.

Agreed - I don't think it's reasonable to expect us to maintain support a 3 year old version of a package on a 4 month old version of Python.

I tried various approaches and none of them were perfect.
Getting the requirements from https://pypi.org/pypi json was inconclusive. Sometimes the have a single line to cover all versions and this doesn't work for Python 3.10 and/or 3.11. It's yielding the same result you evaluated before. In other cases two lines match the Python version (see pandas).
I tried producing a new requirements.in and run pip-compile (from pip-tools). This was fine for regular cases but when you ask for an old version in a Python 3.10 or 3.11 environment pip-compile return and error and doesn't produce a requirmeent.txt file.
The meta.yaml file is not super flexible as it calls for a fixed version and doesn't understand >=.
I came to the conclusion that it's best not to trust any of the sources above and just check the smaller version of the dependency that is available for the current Python version. I did not see any cases where this produces a version number smaller than the minimum requirement in the not trustable package data above but I did not put any protection as the source is not reliable.
This produced more wheels for gensim, matplotlib, pandas and pywavelets for Python 3.10 and 3.11.
Will update the wheels when pandas will be completed in a few hours.

That data is not reliable. For pandas and Python 3.10 I get:
numpy (>=1.20.3) ; python_version < "3.10" numpy (>=1.21.0) ; python_version >= "3.10" numpy (>=1.23.2) ; python_version >= "3.11"
Two lines would match in this case. The two wheels exist for 3.10 so this is fine.
But for gensim this data is the same for all Python versions:
numpy (>=1.18.5)
The wheel for numpy doesn't exist for 1.18.5. The first available is 1.21.0 for 3.10 and 1.22.0 for 3.11.
But >= support would work in that case but how do you propose the script find the best match? We don't want to redo the pip dependency management and, on top of that just for iOS or Android where not all versions build for those platforms.
I'm for removing the version from the meta.yaml and make is a mandatory parameter instead. We can name the dependencies in the yaml but let the script guess the best version to use like we do now. This would remove the sed and the edditting of git tracked files.

That data is not reliable. For pandas and Python 3.10 I get:
numpy (>=1.20.3) ; python_version < "3.10" numpy (>=1.21.0) ; python_version >= "3.10" numpy (>=1.23.2) ; python_version >= "3.11"
Two lines would match in this case. The two wheels exist for 3.10 so this is fine.

I'm not sure I see the ambiguity for Python 3.10 (only rule 2 matches); but Python 3.11 matches 2 rules. However, there clearly is an interpretation, because Pandas is currently using this build configuration.
However, they're not version specifiers - they're constraints. The pip/conda solvers take these constraints, and try to find a solution that satisfies them; in this case, for Python 3.11, any version of numpy after 1.21.0 will satisfy the provided constraints. However, in practice, wheels are preferred (unless --no-binary or similar directives are employed); a Py3.11 wheel is only available for 1.23.2, so that is the version that will be used.

But for gensim this data is the same for all Python versions:
numpy (>=1.18.5)
The wheel for numpy doesn't exist for 1.18.5. The first available is 1.21.0 for 3.10 and 1.22.0 for 3.11.

Again it's a constraint, not a specifier. The solution to that constraint is different for different Python versions.

But >= support would work in that case but how do you propose the script find the best match? We don't want to redo the pip dependency management and, on top of that just for iOS or Android where not all versions build for those platforms.

True, I'd rather not re-implement the full pip solver. However, we don't need a full pip solver - we can limit ourselves to the packages literally described in meta.yaml, and the versions for which wheels are known to exist for a given Python version that also match any Python version-based constraint using ; python_version ... definitions.

I'm for removing the version from the meta.yaml and make is a mandatory parameter instead. We can name the dependencies in the yaml but let the script guess the best version to use like we do now. This would remove the sed and the edditting of git tracked files.

So - I'm not 100% sure if I agree here. We are defining a build system; that build system should be reproducible. Part of that reproducibility is specifying what inputs were given to the system at the time of build. If the end target is a CI system, a mandatory argument isn't a viable solution - that argument would need to be defined somewhere; meta.yaml is as good a place as any.
If you're saying that we can/should completely derive dependency version information based on the published wheels available on PyPI - that's an interesting idea. "Package the app with the versions that were contemperaneous" sounds plausible as an idea, and it certainly appear to be true for Numpy, but I'd want to do some more validation for packages other than Numpy/Pandas.
As a meta-issue - you appear to be continuing to push updates to this PR that are unrelated to this initial "multiple python versions" fix. I haven't done a deep dive on those changes yet, but they seem to be addressing fundamentally different issues. As such, it would be preferable for these to be a second PR (building on the first) so they can be reviewed independently.

I can move openblas and the fortran stuff to another PR.
I'm not sure where you guys want to go with the PR. I'm not planning on redesigning your entire system with this PR. I'm just trying to contribute a few more wheels for iOS.

I can move openblas and the fortran stuff to another PR.
I'm not sure where you guys want to go with the PR. I'm not planning on redesigning your entire system with this PR. I'm just trying to contribute a few more wheels for iOS.

Understood - however, anything that is merged needs to make sense in itself, and be broadly consistent with any future directions we're intending to take.
To that end: the manual overwriting of meta.yaml doesn't fill me with delight. I can see 3 problems:

it's a bit fragile in the general case;
A source checkout is dirtied by running the script.
The end-goal of having the meta.yaml being a stable descriptor of the "current" build state isn't really being honoured, as it doesn't reflect the Python-version-dependent nature of dependencies.

Making the properties that are overwritten something that can be specified as command-line arguments would be my preferred fix for (1) and (2); (3) can't really be fixed without adding some sort of python-version dependency syntax into the interpretation of meta.yaml.
If you'd rather deal with those problems a follow up PR, I can live with what is in the PR at the moment as a means to an end in the short term, as long as there's some additional "FIXME" style documentation around the sed invocations to make it clear that part of the code is a short term workaround.
The bit I'm not happy with at the moment is the minimum version identification - or, at least, how the current script has been used to generate the packages that are in the archives you've provided. As I understand it, the current script is doing the following:

Look at PyPI, look for all final (i.e., non alpha etc_) releases after 2019 (at year-level granularity)
Try to build that package for a given Python version
If the build succeeds, ship it

Then, for any other package, if numpy is listed as a specific dependency, replace the version pin with the oldest version that the script built successfully.
This seems to generally work, but it does lead to some interesting edge cases - there are a number of packages that are in the archive that support versions of Python that the upstream packages didn't support. For example, there are numpy 1.16.0 packages for Python 3.8 - numpy 1.16.0 was released in Jan 2019, but Python3.8 wasn't even released in alpha until Feb 2019. There are similar issues for many packages in the archive you've provided - we're offering a package for versions of Python that didn't exist at the time the package was published.
I don't think it's reasonable to pretend to offer binary support for versions of Python that the packages themselves didn't pretend to support. It think there's an easy fix for this, though - pass the Python version into the versions script, and use that as part of the filtering criteria. If there isn't a macOS wheel for that version of Python associated with a release, then we don't try to build an iOS wheel for that release.
Here's an updated version of the versions.py script that implements this change; it also corrects an issue with root certificates I was seeing in my local installation (I've provided this as a full file rather than trying to create a pull request to your pull request, or pushing to your branch).
#!/usr/bin/env python3

import json
import sys
import ssl
from urllib.request import urlopen

import certifi

def get_versions(py_version, package_name, year):
    url = f"https://pypi.org/pypi/{package_name}/json"

    # ensure we're using a root certificate that works with PyPI
    context = ssl.create_default_context(cafile=certifi.where())
    releases = json.load(urlopen(url, context=context))['releases']

    versions = set()

    for version, release in releases.items():
        for package in release:
            if (
                package['packagetype'] == 'bdist_wheel'
                and "-macosx_" in package['filename']
                and int(package['upload_time'].split('-')[0]) >= year
                and not any(c.isalpha() for c in version)
                and package['python_version'] == f"cp{py_version.replace('.', '')}"
            ):
                versions.add(version)

    return sorted(versions)

if __name__ == "__main__":
    year = int(sys.argv[1])
    package_name = sys.argv[2]
    python_version = sys.argv[3]

    print(" ".join(get_versions(python_version, package_name, year)))

The version was moved out of the yaml files and added as a parameter. I keep the version for the dependencies.
Updated the 'versions.py' with your changes. I even added some command line arguments.
Wheels are uploaded at the same place and it did remove some that were not available on macOS.
FIXME comment added next to the last sed for the dependencies.
I'm not too sure what to do with some yaml files like pyzbar or torch with constructs like this:
`
{% set version = "0.1.8" %}
package:
name: pyzbar
version: {{ version }}
source:
url: https://github.com/NaturalHistoryMuseum/pyzbar/archive/v{{ version }}.tar.gz
`
Also after I took out the version we have some cases like bcrypt where we have a build number floating on the air a bit:
`
package:
name: bcrypt
build:
number: 2
`
Should we just remove all build number when no version is set?

The version was moved out of the yaml files and added as a parameter. I keep the version for the dependencies.

I'm not sure I understand where this change comes from. Having a command line argument to override default version specified by the configuration file makes sense, but removing the version from the meta.yaml means we don't know what versions in the configuration file actually refer to. The configuration file is (and AFAICT, will continue to be in the "final CI state") the build configuration for the most recent successful build.

Wheels are uploaded at the same place and it did remove some that were not available on macOS.

I'll do another testing pass; assuming things work, I'll start uploading to the BeeWare repo.

FIXME comment added next to the last sed for the dependencies.

I'm not too sure what to do with some yaml files like pyzbar or torch with constructs like this:

You shouldn't need to do anything; again, the files that are committed to the repo are the "most recent known good" versions of packages; so the existing configurations shouldn't need any modifiations.

Also after I took out the version we have some cases like bcrypt where we have a build number floating on the air a bit:
package:
  name: bcrypt

build:
  number: 2

Should we just remove all build number when no version is set?

If the version has been overridden at the command line, then the build number should be ignored; but

As discussed in person, I wrote up the changes to do the search-and-replace template parsing for version numbers; I've also added in build number handling (purging old build numbers if there's an override version, and allowing for a manually specified build number).
I tried pushing to your branch, but because iOS-support is your main branch, I don't have push permissions. Here's the diff for the change; or, if you want to give me push permissions, I'll push from my local version.
0001-Rewrite-meta.yaml-template-to-override-version-and-b.patch


Improve Suspense internals

Adds a polyfill for React 19's use, and uses this construct now to implement our suspending internals. Behaviorally this is the same as what we're doing currently, but it will make our implementation more recognizable as a pattern and ultimately simplify the code a bit, because the throwing-a-promise behavior is better abstracted. By adopting the use() abstraction, we will end up with code that's simpler and easier to reason about.
Currently done for:

useSuspendUntilPresenceReady()
useSuspendUntilStorageReady()

Fixes LB-903.

As discussed on our call yesterday, we're merging this incremental improvement in now, but will come back to rewriting/fixing these cases in a later version:


ENH: optimize: changes to make BFGS implementation more efficient.

I was browsing scipy.optimize files and realised that the BFGS implementation is not implemented in the most possible efficient way. I made three modifications to make it more efficient:

The current implementation uses the following formula to update the hessian inverse:

which I changed to:

Both formulas produce the same results and one can be manipulated to get the other. However, while the first implements a matrix multiplication, requiring O(n^3) operations, the second uses only O(n^2) operations. Making the second a better choice for implementation
I am using BLAS function in order to explore the Hessian symmetry. This way the matrix operations are two times more efficient.
I am using the heuristic described in p.143, formula (6.20), Nocedal/Wright book to get a better initial guess for the inverse hessian H_k.

In order to evaluate the effect of items (1) and (2), I have written the following jupiter notebook, that compare the update of H_k with and without the modifications (1) and (2). I have two different computers and the time results are very different depending on each I am running the tests (I think it is because of different numpy configurations). Nevertheless, the modifications (1) and (2) make the calculation of the hessian much faster for every case I have tested.
The modification (3) cause a reduction in the number of iterations for some benchmarks (beale benchmark) and a increase for others (rosenbrock benchmark):

As it exists so that the algorithm is not accidentally changed, rather
than removing it should be updated.

ok, make sense to me! I will update it...

Very solid improvement. Formatting style could be improved though. After that and recovering the test --- +1 from me.

I have changed the code according to the comments: I reintroduce the tests I have removed, change the doctests and, also, tried to improve the style. I appreciate any feedback in this.
Test fails seems uncorrelated with the changes I have made.

Looks good to me.
Squash commits into one with an informative message.

Ok! I squash the commits into one.

Merging tomorrow unless someone has some things to say.

Looks good to me.


Disable approx percentile tests that intermittently fail

relates to https://github.com/NVIDIA/spark-rapids/issues/4060
skip some of the tests that intermittently fail in 21.12 to make sure they don't affect CI and release.
Signed-off-by: Thomas Graves<EMAIL_ADDRESS>

build


Fix access token workflow to work with VRA8

Signed-off-by: Davin Taddeo<EMAIL_ADDRESS>Description
The previous code was failing to fully authenticate because the access token retrieval method changed in VRA8 to make a two-step process. This code updates that auth process to do both steps.
Issues Resolved
Resolves issue discovered by user in working session with Chef CA
Check List

[ ] All tests pass.
[ ] All style checks pass.
[ ] Functionality includes testing.
[ ] Functionality has been documented in the README if applicable

@chef-davin
Two-step authentication changes look good to me.
Is all the existing test cases are passing. And can you please tick the Check List for the same?

Hey @chef-davin,
Some of the specs are failing due to the change in access token generation workflow. I've updated those specs and created a new PR: https://github.com/test-kitchen/vmware-vra-gem/pull/86 with those changes as well.

Merged https://github.com/test-kitchen/vmware-vra-gem/pull/86 which updated tests


webpack: Failed to compile. Does vue-awesome need Python to build or run?

Below my install and start log with clean a install of npm. It fails to start. What am I doing wrong?
E:>cd vue-admin-master
E:\vue-admin-master>npm -v
5.5.1
E:\vue-admin-master>node -v
v8.9.1
E:\vue-admin-master>npm install
npm WARN deprecated<EMAIL_ADDRESS>?  Thanks for using Babel: we re
commend using babel-preset-env now: please read babeljs.io/env to update!
npm WARN deprecated<EMAIL_ADDRESS>This package has been merged into the
'mapbox-gl-style-spec' package
npm WARN deprecated<EMAIL_ADDRESS>This package has been merged with
the 'mapbox-gl-style-spec' package
npm WARN deprecated<EMAIL_ADDRESS>This module has moved: please install
@mapbox/point-geometry instead
npm WARN deprecated<EMAIL_ADDRESS>This module is now under the @mapbox names
pace: install @mapbox/shelf-pack instead
npm WARN deprecated<EMAIL_ADDRESS>This module is now under the @mapbox namesp
ace: install @mapbox/whoots-js instead
npm WARN deprecated<EMAIL_ADDRESS>This module has moved: please install @ma
pbox/vector-tile instead
npm WARN deprecated<EMAIL_ADDRESS>This module has moved: switch to @mapbox/u
nitbezier
npm WARN deprecated<EMAIL_ADDRESS>Project renamed to HSLuv
npm WARN deprecated<EMAIL_ADDRESS>This module is now under the @mapbox nam
espace: install @mapbox/geojson-area instead

<EMAIL_ADDRESS>install E:\vue-admin-master\node_modules\wysiwyg.css\node_mod
ules\node-sass
node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v3.1
3.1/win32-x64-57_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v3.13.1/win
32-x64-57_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
  export HTTP_PROXY=http://example.com:1234

or configure npm proxy via
  npm config set proxy http://example.com:8080

<EMAIL_ADDRESS>install E:\vue-admin-master\node_modules\node-sass
node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.7
.2/win32-x64-57_binding.node
Download complete  ] - :
Binary saved to E:\vue-admin-master\node_modules\node-sass\vendor\win32-x64-57\b
inding.node
Caching binary to C:\Users\Henon\AppData\Roaming\npm-cache\node-sass\4.7.2\win32
-x64-57_binding.node

<EMAIL_ADDRESS>postinstall E:\vue-admin-master\node_modules\wysiwyg.css\node
_modules\node-sass
node scripts/build.js

Building: C:\Program Files\nodejs\node.exe E:\vue-admin-master\node_modules\node
-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsas
s_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ 'C:\Program Files\nodejs\node.exe',
gyp verb cli   'E:\vue-admin-master\node_modules\node-gyp\bin\node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library=' ]
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb which failed Error: not found: python2
gyp verb which failed     at getNotFoundError (E:\vue-admin-master\node_module
s\which\which.js:13:12)
gyp verb which failed     at F (E:\vue-admin-master\node_modules\which\which.j
s:68:19)
gyp verb which failed     at E (E:\vue-admin-master\node_modules\which\which.j
s:80:29)
gyp verb which failed     at E:\vue-admin-master\node_modules\which\which.js:8
9:16
gyp verb which failed     at E:\vue-admin-master\node_modules\isexe\index.js:4
2:5
gyp verb which failed     at E:\vue-admin-master\node_modules\isexe\windows.js
:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:152:21)
gyp verb which failed  python2 { Error: not found: python2
gyp verb which failed     at getNotFoundError (E:\vue-admin-master\node_module
s\which\which.js:13:12)
gyp verb which failed     at F (E:\vue-admin-master\node_modules\which\which.j
s:68:19)
gyp verb which failed     at E (E:\vue-admin-master\node_modules\which\which.j
s:80:29)
gyp verb which failed     at E:\vue-admin-master\node_modules\which\which.js:8
9:16
gyp verb which failed     at E:\vue-admin-master\node_modules\isexe\index.js:4
2:5
gyp verb which failed     at E:\vue-admin-master\node_modules\isexe\windows.js
:36:5
gyp verb which failed     at FSReqWrap.oncomplete (fs.js:152:21)
gyp verb which failed   stack: 'Error: not found: python2\n    at getNotFoundE
rror (E:\vue-admin-master\node_modules\which\which.js:13:12)\n    at F (E:\
vue-admin-master\node_modules\which\which.js:68:19)\n    at E (E:\vue-admin-
master\node_modules\which\which.js:80:29)\n    at E:\vue-admin-master\node_
modules\which\which.js:89:16\n    at E:\vue-admin-master\node_modules\isexe
\index.js:42:5\n    at E:\vue-admin-master\node_modules\isexe\windows.js:36
:5\n    at FSReqWrap.oncomplete (fs.js:152:21)',
gyp verb which failed   code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb which succeeded python C:\Users\Henon\AppData\Local\Programs\Python\P
ython36-32\python.EXE
gyp verb check python version C:\Users\Henon\AppData\Local\Programs\Python\Pyth on36-32\python.EXE -c "import platform; print(platform.python_version());" retu
rned: "3.6.0\r\n"
gyp verb could not find "C:\Users\Henon\AppData\Local\Programs\Python\Python36-3
2\python.EXE". checking python launcher
gyp verb could not find "C:\Users\Henon\AppData\Local\Programs\Python\Python36-3
2\python.EXE". guessing location
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "C:\Users\Henon\AppData\Local
\Programs\Python\Python36-32\python.EXE", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (E:\vue-admin-master\node_module
s\node-gyp\lib\configure.js:483:19)
gyp ERR! stack     at PythonFinder. (E:\vue-admin-master\node_modules
\node-gyp\lib\configure.js:508:16)
gyp ERR! stack     at E:\vue-admin-master\node_modules\graceful-fs\polyfills.js:
284:29
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:152:21)
gyp ERR!  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional log
ging output above.
npm ERR!      C:\Users\Henon\AppData\Roaming\npm-cache_logs\2017-11-27T20_49_39_
006Z-debug.log
E:\vue-admin-master>npm run dev

<EMAIL_ADDRESS>dev E:\vue-admin-master
cross-env NODE_ENV=development node build/dev-server.js

[HPM] Proxy created: /MODApis  ->  http://dev.markitondemand.com
webpack: wait until bundle finished:
webpack: wait until bundle finished: /index.html
webpack built aae45f5ad2d79f839235 in 17981ms
Hash: aae45f5ad2d79f839235
Version: webpack 2.7.0
Time: 17981ms
Asset     Size         Chunks
Chunk Names
15.js  65.6 kB             15
           assets/img/emojione.sprites.a44e653.svg  3.16 MB

assets/fonts/materialdesignicons-webfont.f540b42.eot   275 kB
assets/fonts/materialdesignicons-webfont.292b2f8.ttf   274 kB
assets/fonts/materialdesignicons-webfont.7f88c63.woff2   104 kB
assets/fonts/materialdesignicons-webfont.c28dbba.woff   135 kB
                                              0.js  19.2 MB              0

                                              1.js  2.48 MB              1

                                              2.js  2.48 MB              2

                                              3.js  2.48 MB              3

                                              4.js  90.6 kB  4, 12, 13, 14

                                              5.js   154 kB              5

                                              6.js   342 kB              6

                                              7.js   106 kB              7

                                              8.js   121 kB              8

                                              9.js   213 kB              9

                                             10.js  90.6 kB             10

                                             11.js  65.9 kB             11

                                             12.js  51.2 kB             12

                                             13.js  46.3 kB             13

                                             14.js  47.5 kB             14

assets/img/materialdesignicons-webfont.633c9b8.svg  2.09 MB

                                             16.js  1.62 MB             16

                                             17.js  1.22 MB             17

                                             18.js   540 kB             18

                                             19.js   378 kB             19

                                             20.js  46.9 kB             20

                                             21.js  92.7 kB             21

                                             22.js  41.2 kB             22

                                             23.js  52.2 kB             23

                                             24.js  53.1 kB             24

                                             25.js  31.9 kB             25

                                             26.js  15.6 MB             26

                                             27.js  36.9 kB             27

                                             28.js  38.3 kB             28

                                             29.js  35.2 kB             29

                                             30.js  43.8 kB             30

                                             31.js  12.7 kB             31

                                             32.js  6.24 kB             32

                                             33.js  6.02 kB             33

                                            app.js   783 kB             34

app
vendor.js  1.15 MB             35
vendor
ERROR in ./~/css-loader!./~/vue-loader/lib/style-compiler?{"id":"data-v-37fa8aa7
","scoped":false,"hasInlineConfig":true}!./~/sass-loader/lib/loader.js!./~/vue-l
oader/lib/selector.js?type=styles&index=0!./client/App.vue
Module build failed:
undefined
^
File to import not found or unreadable: ~wysiwyg.css/wysiwyg.sass.
Parent style sheet: stdin
in E:\vue-admin-master\client\App.vue (line 65, column 1)
@ ./~/vue-style-loader!./~/css-loader!./~/vue-loader/lib/style-compiler?{"id":"
data-v-37fa8aa7","scoped":false,"hasInlineConfig":true}!./~/sass-loader/lib/load
er.js!./~/vue-loader/lib/selector.js?type=styles&index=0!./client/App.vue 4:14-3
03 13:3-17:5 14:22-311
@ ./client/App.vue
@ ./client/app.js
@ ./client/index.js
@ multi ./build/dev-client ./client/index.js
Child html-webpack-plugin for "index.html":
Asset     Size  Chunks  Chunk Names
index.html  1.48 MB       0
webpack: Failed to compile.

Listening at http://localhost:8080

I had python 3.6 installed by the way. after installing Python 2.7
npm install
runs through and the app is starable.  Maybe this should be noted somewhere? in development.md for instance?

This repo doesn't have anything to do with your issue

I know, not directly. Some component obviously needs Python. So if Python is not installed, this project fails to build.
So why not state all the dependencies of the project somewhere obvious?


iOS timeline view not interactive in some cases

Issue type
Incorrect behavior
Description of the problem
When ending an on demand content with segments, the continuous playback screen is displayed.
If the user cancels the proposition, the player view goes back to the idle view with the thumbanail and a play button.
The timeline is displayed again.
Expected behavior: Timeline is displayed. user can select a segment, and scroll.
Current behavior: the tap is only toggling the player controls display/hide. Only the timeline scroll has the expected behavior.
Environment information

Library version: 8.0.0 +
iOS version: iOS 15.X, 14.X (probably previous).
Device: iPhone and iPad

Reproducibility
Always reproducible
Steps to reproduce

Open a VoD with segments
Seek to the end.
Cancel the continuous playback proposition, if any.
There is only the play button on the player view, and the timeline below. Try to tap on a timeline cell.

The issue appeared with Letterbox version 8.0.0 and the modern gestures.
The gesture recognizers moved to the main SRGLetterboxView and can interact on the timeline view frame as well, which create some priorities and gesture changes.

Running on Mac OS (Mac, designed for iPad), the collectionView:didSelectItemAtIndexPath: is never fired.
Running on iOS and iPadOS this delegate method is fired when the doubleTapGestureRecognizer is enabled, but not fired when disabled.

A proposition is to move back gestures on the playbackView as did on version 7.5.0.

The view hierarchy was flat between playbackView and controls view.
Putting controls view in the playbackView sub views allows to have both controls gestures and moderns gestures, which are hosted by the playbackView.
An unused view is also removed in SRGControlsView. It was the host of the previous single tap gesture for interactivity in version 7.5.0.


Newline should not create a new HTML paragraph

The paragraph marking style in org is the same as in markdown.
If I have
abcd
efgh

ijkl
mnop

it should export to HTML as

abcd
efgh

ijkl
mnop

But instead, it is currently creating a paragraph for each new line.

This is the expected behavior:

A single newline does not end a paragraph.
Two or more consecutive newlines end a paragraph (basically one ore more blank lines).

I found this issue because I like to enable auto-fill-mode for my posts with fill-column set to 70 in emacs.

Any progress on this?
Having support for e.g. writing content in Hugo static-site-generator using org-mode support is great, but this issue is showstopper atm. 😢

@gour yep, I'm working on it this week. Sorry, I've had a crazy March (travel for work and moving house) and this week is the first week I've had to even get on the computer outside of working hours. PR coming.

@chaseadamsio  Np. Let me, however, say that ability to use straight org-mode markup when writing content in Hugo is one of the strong reasony why I'm migrating to Hugo (from python-powered ssg)...and, yes, I plan to start learning Go in order to be able to contribute somehow...

If you have any test cases you'd like to add, please comment on #34 with cases. The PR should resolve this issue.


Refactor Alert Messages

@emilgoldsmith I'm not sure if you want this, but going over the different controllers, it seems that it would be nice to factor out all the user feedback messages to a common list. This would compile every feedback message in one place and allow for easy editing and, in case needed, language change. It will also make the controllers source code more readable.

Hmm I think I need a more concrete explanation of this to understand exactly what you mean.
Language change should never be relevant though (except for maybe in the distant future where it could very theoretically become a fully fledged open source framework for newspapers)

I.e. have a file called message.json /.js which contains all the messages used throughout the code base, such as
{
  adminNoAuthorsOnArticle: "You have not added any authors to ... ",
  ...
}

And then it can be called with
import messagesObject from '...messages.js';
//...
if (error) this.props.alertDisplay(messagesObject.adminNoAuthorsOnArticles);

or something similar.

Yeah sure, I wouldn't mind that, definitely good practice.
Don't think it's very high priority though, but it's definitely good practice


Impl IntoFuture for ContractCall

Motivation
Continuation of #1797.
Solution
Implement IntoFuture trait for ContractCall.
Defaults to calling ContractCall::call().
PR Checklist

[ ] Added Tests
[x] Added Documentation
[ ] Updated the changelog

I'm not fond of a needless allocation, but it helps to hide opaque future type.

сс @prestwich @gakonst


python312Packages.pysolcast: 2.0.3 -> 2.0.5

Diff: https://github.com/mcaulifn/solcast/compare/refs/tags/v2.0.3...v2.0.5
Changelog: https://github.com/mcaulifn/solcast/releases/tag/v2.0.5
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 329506 run on x86_64-linux 1

4 packages built:

python311Packages.pysolcast
python311Packages.pysolcast.dist
python312Packages.pysolcast
python312Packages.pysolcast.dist


Stuck in Extension not loaded, reload and open loop

Testing #59244 on Windows

I published a test-extension with the sample code from #59244
Ran explorer vscode-insiders://ramyaraoa.test-extension/hello
Got the dialog to install the extension. I clicked on "Install"
Got the prompt to reload and open url. I said ok
Then I get the dialog that the extension is not loaded. So I hit on Reload and Open.
I again get the same dialog and now am stuck in the loop

The repo for the extension: https://github.com/ramya-rao-a/test-extension

I nuked my extension and created it from scratch and now things work as expected


Top-up balance of an existing Identity throws error

Top-up balance of an existing Identity throws  StateTransitionBroadcastError: Invalid instant lock proof signature
Expected Behavior

Successfully top-up balance of an existing Identity
Current Behavior

Something went wrong:
 [StateTransitionBroadcastError: Invalid instant lock proof signature] {
  code: 1042,
  cause: InvalidInstantAssetLockProofSignatureError: Invalid instant lock proof signature
      at createConsensusError (/Volumes/harddrive/Projects/sandbox/node_modules/@dashevo/dpp/lib/errors/consensus/createConsensusError.js:14:10)
      at GrpcTransport.createGrpcTransportError (/Volumes/harddrive/Projects/sandbox/node_modules/@dashevo/dapi-client/lib/transport/GrpcTransport/createGrpcTransportError.js:132:28)
      at GrpcTransport.request (/Volumes/harddrive/Projects/sandbox/node_modules/@dashevo/dapi-client/lib/transport/GrpcTransport/GrpcTransport.js:86:34)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async PlatformMethodsFacade.broadcastStateTransition (/Volumes/harddrive/Projects/sandbox/node_modules/@dashevo/dapi-client/lib/methods/platform/broadcastStateTransition/broadcastStateTransitionFactory.js:33:50) {
    [Symbol(constructorArguments)]: []
  }
}

Steps to Reproduce (for bugs)

const Dash = require('dash');

const clientOpts = {
  network: 'testnet',
  wallet: {
    mnemonic: 'a Dash wallet mnemonic with testnet funds goes here',
    unsafeOptions: {
      skipSynchronizationBeforeHeight: 650000, // only sync from early-2022
    },
  },
};
const client = new Dash.Client(clientOpts);

const topupIdentity = async () => {
  const identityId = 'an identity ID goes here';
  const topUpAmount = 1000; // Number of duffs

  await client.platform.identities.topUp(identityId, topUpAmount);
  return client.platform.identities.get(identityId);
};

topupIdentity()
  .then((d) => console.log('Identity credit balance: ', d.balance))
  .catch((e) => console.error('Something went wrong:\n', e))
  .finally(() => client.disconnect());

Your Environment

Version used: `dash v3.22.1

retest passed


Implementation of BackgroundImage in Discord RPC

Also contains:

Added Deconstructor in DiscordClient.cs
Removing all usings in project
Renamed AbstractRequestBase to WebRequestBase and made it not abstract anymore, so the base methods can be used anywhere anytime for small stuff
Removed Debug.WriteLine in the Scrobble() Method, as it was throwing exceptions when debugging the whole time and isn't needed anymore

Please next time do the small changes in extra commits. Reviewing one commit containing every refactor/change is way more troublesome and confusing

Yeah 11PM Brain thought about this after hitting commit xD


The arrow for adding to collection is not working at least in safari

You can see this when you are not logged in. It should be shown only when you are logged in


Added mime type for GeoJSON files

http://www.iana.org/assignments/media-types/application/vnd.geo+json

Thanks for contributing this pull request. However, the repositories of individual Symfony Components are read-only, so pull requests are ignored. Please, submit this pull request to the main Symfony repository at https://github.com/symfony/symfony/pulls
Thank you!


Implement the Storage and Flow operations

[ ] SLOAD
[ ] Integrate test cases for SSTORE
[ ] JUMP
[ ] JUMPI
[ ] PC
[ ] MSIZE
[ ] GAS
[ ] JUMPDEST

I'm working on this. @lightclient please assign this to me as I don't have permissions to assign to myself.

Closing this as it has been implemented.


SSDT-style Import from database and sqlpackage.exe integration (extract, compare, update, publish, etc.)

It would be great if the Project-Oriented Offline Database Development features of SSDT were incorporated into SQLOps.
Namely:
Import from Database or dacpac: (would create project structure with .sql scripts for all db objects.)
SQLPackage.exe integration (to extract, compare and generate update scripts)
SQLCMD mode option for executing sqlcmd scripts such as those generated by sqlpackage.exe /a:script cmd
Thanks for listening.

related issue https://github.com/Microsoft/sqlopsstudio/issues/265

related test project:
https://github.com/joshbooker/SOS_ExtractCompareUpdate

Looks like there is now a cross-platform sqlpackage.exe:
https://github.com/Microsoft/mssql-docker/issues/135#issuecomment-389245587
Now all we need is cross plat sqlcmd.exe

There is also cross-plat sqlcmd.exe so now all dependencies are available.  Lets add this to SQL Ops Studio.
Thanks for listening.

It appears  now there are indeed cross-plat versions of all tools needed to enable Extract, Script, Compare, Update fucntionality via command-line.  Any change these could get wired up to context menus for simple 'SSDT > Schema Compare' equivalent?

@kburtram, It appears now there are indeed cross-plat versions of all tools needed to enable Extract, Script, Compare, Update fucntionality via command-line. Any chance these could get wired up to context menus for simple 'SSDT > Schema Compare' equivalent?

@joshbooker We are currently working on this. Would you be interested in seeing wireframes and provide feedback on the design?

@yualan I would love to see and provide feedback. Can you share what dependencies you are considering?  For example, are you thinking of using cross-plat sqlpackage.exe, sqlcmd.exe and mssqlscripter?

@yualan I'll help test in any way possible as well.

@yualan Interested as well.
Additional use cases:

Maintain source controlled scripts as a single source of truth.
Build SQL Server docker image out of raw files
Support cross-platform development

https://github.com/Microsoft/azuredatastudio/issues/389#issuecomment-437251674 Seeking feedback through this issue.
All our command line tools now have a cross-platform story: https://docs.microsoft.com/en-us/sql/tools/overview-sql-tools?view=sql-server-2017

Looking forward to providing feedback to improve the cmdline experience for Extract, Compare, Update.
This is what we're doing now and we'd love to see this become a wizard experience in ADS.
SCRIPTER

EXTRACT, COMPARE, UPDATE

ALTER, COMPARE, UPDATE

@joshbooker Thanks for referencing this. I was trying to explore more deeply but I was not able to find how can implement the following use case:

I have a snapshot of my database in source control and I can build a dacpac using VisualStudio on Windows (sqlproj).
How can I do the same on linux/mac? I suspect something like sqlpackage /Action:Script /Source:/path-to-folder-with-script. I can't find any documentation on that?

In our development workflow we try to use source control as a single source of truth.
Developer builds dacpac file from source and use it for his development environment. Then developer works with his local database and make changes to it. Once functionality is completed he dumps the changes from database to source control, commits it and pushes. CI builds docker image. Then we use that for automated tests.
Our CI and Development heavily relies on Docker. It will be nice if we can eliminate dependency on VS and be able to do everything using command line tools inside container.

@offbeatful I don’t do Linux or docker but do believe your use case is indeed doable with the new cross-plat sqlpackage.
Docs here: https://docs.microsoft.com/en-us/sql/tools/sqlpackage?view=sql-server-2017
And yes script action compares schema of two dacpac files and outputs a delta DDL script which when executed on the target database will make it the same as source db. Here i’m Using it like so:

@yualan so, it appears the SSDT tools aren't yet x-plat? I was trying to take a local SSDT project and apply it to a database.

@carlowahlstedt All the SSDT command line tools are indeed now cross-plat.  See Here: https://docs.microsoft.com/en-us/sql/tools/overview-sql-tools?view=sql-server-2017#command-line-tools-to-manage-databases
If you extract youru project to a .dacpac, you can then compare and publish to a database using sqlpackage.exe https://docs.microsoft.com/en-us/sql/tools/sqlpackage?view=sql-server-2017

So the missing functionality that I am experienced so far is the ability to build dacpac file from source (from raw sql files). I use Visual Studio DB Project to hold all the source files and MsBuild works just fine generating dacpac file (only on Windows).
My suggestion is to build something that can add all the sql files in a directory to dacpac. This utility should be cross platform and should not depend on Visual Studio DB Project.

@joshbooker ah, so the difference here is that if you know all of the command line tools then you can make it work, but the "easy developer experience" of VS and F5 or Azure DevOps Pipeline and build the project isn't there (x-plat). Which is what I really meant by SSDT tools, an "easy" developer experience.

@yualan Would building a DACPAC file from .sql sources be within the scope of this issue or should a new one be filed if one doesn't exist already? Like @offbeatful we are also seeking to have raw sql source files as the primary source in our cross-plattform (macOS/Windows). It's very important that a CLI version is available though for easy script-based provisioning and CI.
@joshbooker I've converted parts of your windows scripts to bash and it seems to be working very well on macOS with the cross-plattform versions.

Completely agree with @xandhen after looking at this in more depth. It seems the creation of the DACPAC from sql source is what's missing and what the SSDT project in Visual Studio does today. If this could be accomplished, then we'd have the bare tools needed to be able to commit to source and put it in a pipeline.

What I ended up doing (while waiting for this nice feature to generate DACPAC from SQL sources) - I configured Azure DevOps CI process to create dacpac on Windows Agent, then I added this dacpac to Docker image with SQL tools and deploy to ACS (multi agent pipeline or something). After I can use this docker image on any machine to apply db changes.
My docker file:
FROM ubuntu:16.04

ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update && \
    apt-get install -qq curl apt-transport-https unzip locales
RUN curl -q https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl -q https://packages.microsoft.com/config/ubuntu/16.04/prod.list | tee /etc/apt/sources.list.d/msprod.list

RUN apt-get update && \
    ACCEPT_EULA=Y apt-get install -qq mssql-tools unixodbc-dev libunwind8 libicu55

RUN curl -Lq https://go.microsoft.com/fwlink/?linkid=873926 -o ~/sqlpackage.zip && \
    unzip ~/sqlpackage.zip -d /opt/sqlpackage && \
    rm ~/sqlpackage.zip && \
    chmod +x /opt/sqlpackage/sqlpackage

RUN locale-gen en_US.UTF-8 && \
  printf 'LANGUAGE=en_US.UTF-8\nLC_ALL=en_US.UTF-8\n' >> /etc/default/locale

ENV PATH=$PATH:/opt/mssql-tools/bin:/opt/sqlpackage

ADD tools /opt/db-tools
ADD bin/Debug/db.dacpac /opt/db-tools
WORKDIR /opt/db-tools

tools folder contains setup.sh
export FILE_NAME=script.sql
sqlpackage /a:Script /sf:${DACPAC_FILE} /tsn:${SERVER_NAME} /tdn:${DATABASE_NAME} /tu:${DATABASE_USER} /tp:${DATABASE_PASSWORD} /OutputPath:${FILE_NAME}
sqlcmd -i ${FILE_NAME} -S ${SERVER_NAME} -d master -U ${DATABASE_USER} -P ${DATABASE_PASSWORD}

Then my development docker-compose file :
version: "3.4"

services:
  db-tools: &db-tools
    image: <your acs>.azurecr.io/<db-tools-image_name>
    container_name: db_tools
    build:
      context: .
      dockerfile: ./docker/tools.Dockerfile

  db:
    container_name: db
    image: microsoft/mssql-server-linux:latest
    restart: unless-stopped
    environment:
      - ACCEPT_EULA=Y
      - SA_PASSWORD=<your sa password>
    ports:
      - 1433:1433

  db-updater:
    <<: *db-tools
    environment:
      - DACPAC_FILE=/opt/db-tools/db.dacpac
      - SERVER_NAME=db
      - DATABASE_NAME=<you db>
      - DATABASE_USER=sa
      - DATABASE_PASSWORD=<your sa password>
    entrypoint: sh /opt/db-tools/setup.sh
    depends_on:
      - db

You may extend this and put your own tools (sh files in tools directory).

We are in the process of moving our monolithic .NET Framework + SQL (read .sqlproj, with folders full of .sql files) to .NET Core and dockerizing.
Impressed to see SQL running on OSX (via Docker ofcourse) and all its command line tools :)
However we have the same problem - developing in VS we modify .sql files in the .sqlproj and when ready right-click "Snapshot" which spits out a .dacpac we can then deploy this to databases via sqlpackage.exe.
This appears to be the "missing link" in the x-platform tooling, the ability to take a folder full of .sql files and pack them into a .dacpac, seems rather odd since the x-platform tooling supports generating .sql files from a .dacpac but not the other way round which I am sure for developers wanting to keep their .sql in source control (ie everyone surely) is preventing them from using the tools from dev all the way to prod, at the moment when we need to modify .sql files we need to fire up a Windows machine (VM) and hit VS to do the job of packing .sql files into .dacpac.
Any update on the progress of this feature ?

@stevef51 You're correct, .sql files to .dacpac is the missing link.
I'm not aware of that being in-progress for ADS at this time but I believe progress is being made in that direction.  They have recently implemented the Schema Compare Extension which basically adds most of the functions of sqlpackage.exe to ADS, but as you note that tool doesn't understand .sqlproj or .dbschema files used to manage database projects in Visual Studio.  As far as I can determine, that's all VS specific stuff and not a part of any x-plat command line tools at this time.
VSDBCMD.EXE
There is mssql-scripter which does Database to .sql extraction, but nothing outside of VS that does the .sql files to .dacpac, unfortunately.
As far as ADS, I hope they move forward with enabling the script from database sooner than later considering there is a nice utility for that.  As for the 'database project' stuff someone would have to recreate or OSS the VSDBCMD.exe utility for x-plat first.
We should make a new issue to track the remaining bits for full SSDT parity which are:

SQL CMD MODE
Script database to .sql files (create sqlproj)
Import .sql files (sqlproj) into Dacpac

Only then can we use SQL Compare to comapre a projects, database and dacpac like we can in VS.
We would welcome thought from the ADS team.

@joshbooker thanks for your detailed reply - given this though, what is the suggested workflow from development through to production deployment for SQL based projects outside of VS?

Good question. Absent the above mentioned bits I’m not sure there is a 1st party workflow outside of VS.

SQLCMD Mode is done.
Woot!  Thanks ADS Team!
That leaves only two bits remaining for SSDT parity in ADS.
Namely:

Script database to .sql files (create sqlproj)
Import .sql files (sqlproj) into Dacpac

Here is an old issue that could be used to track that:
https://github.com/microsoft/azuredatastudio/issues/45

@joshbooker is any work being done on #2 "Import.sql files (sqlproj) into Dacpac" ?? :)

@joshbooker , based on workflow in these gifs: https://github.com/microsoft/azuredatastudio/issues/389#issuecomment-437542015 any chance we can prioritize https://github.com/microsoft/azuredatastudio/issues/10370 ?

@joshbooker It'd be great to get to get official support for these workflows.
My use case is to auto-pull-request database drift. i.e. Compare deployed version to the db, script any changes to files, commit, PR.
There are some promising looking workarounds here - though I haven't tested them yet:

https://github.com/DarylSmith/DacpacToSqlCmdlet/blob/master/DacpacSqlConverter.cs#L47-L89
https://github.com/DarylSmith/DacpacToSqlCmdlet/blob/master/SqlDacpacConverter.cs#L33-L52

The combination of SQL Database Projects, Schema Compare, and Data-Tier Application Wizard extensions provides for a cross-platform database development experience in Azure Data Studio.  The functionality draws from existing SSDT experiences and incorporates support for new features, such as Azure SQL Edge.  SqlPackage.exe and the .NET Core SDK are the foundational technologies behind the interfaces.
While this issue is being closed since the feature asks in this item have been completed, our work on developer experiences continues.  Work on Tasks (#10370) is underway and other items can be found under the "Area - SQL Project" label.

Good to hear of progress.
I know sql proj is a bit neglected (e.g.old project format). But off the top of your head, do any of the things you mentioned have a command line for extracting a live database to create a sql proj (or updating an existing one?).
If not, and if you aren't phasing it out, I can create a new issue if you'd like since this had a lot in it?

@GrahamTheCoder  The DB proj extension has a UI but not a command line option for importing a current/live DB to a project.  Go ahead and drop us a new issue and we'll check it out, thanks!


Revert "[utils][presets] Build libc++ for LLDB on linux"

This reverts commit a7d01a1ef76c5b46a71256a1a18793b83b3857c9.
We need to upgrade the bots toolchain before this can be enabled.

thanks!


feat: adapt cms.service to handle personalized requests

PR Type

[x] Feature
Issue Number:  #192
Does this PR Introduce a Breaking Change?

[ ] Yes
[x] No

Waiting for ICM release 7.10.18 for full feature support.


camerafeed 'no response' in home app

This has been asked before, but I havent been able to find an answer that resolved it for people, so here goes:
I have ffmpeg installed, homebridge set up with multiple lights, and now homebridge-camera-ffmpeg also installed.
My configuration:
{
	"bridge": {
		"name": "Homebridge",
		"username": "CC:22:33:AA:CC:22",
		"port": 51826,
		"pin": "000-11-333"
	},
	"description": "Hi :)",

	"platforms": [{
			"platform": "Hue",
			"name": "Hue",
			"users": {
				"000": "000"
			},
			"lights": "true"
		},
		{
			"platform": "BroadlinkRM",
			"name": "Broadlink RM",
			"hideScanFrequencyButton": true,
			"hideLearnButton": true,
			"accessories": [{
				"name": "Apple TV",
				"type": "switch",
				"disableAutomaticOff": false,
				"onDuration": 5,
				"data": {
					"on": "0000",
					"off": "0000"
				}
			}]
		},
		{
			"platform": "Camera-ffmpeg-omx",
			"cameras": [{
				"name": "cameraNameThing",
				"videoConfig": {
					"source": "-re -i rtsp://admin:pass@<IP_ADDRESS>:10554/tcp/av0_0",
    			    		"stillImageSource": "-i https://cdn-enterprise.discourse.org/helloforos/uploads/default/original/4X/a/8/7/a8747d7f246653a5864c20d22d425656b0c3e4e7.jpg",
					"maxStreams": 2,
					"maxWidth": 960,
					"maxHeight": 960,
					"maxFPS": 24
				}
			}]
		}
	]
}

And the output is giving me:
[2017-11-30 22:31:28] [Camera-ffmpeg-omx] Initializing Camera-ffmpeg-omx platform...
[2017-11-30 22:31:28] leylacam is running on port 33649.

I've tried reinstalling all kinds of versions and sources of ffmpeg, homebridge-camera0-ffmpeg. Oh and I have to remove homebridge from the home app and add it again in order to identify new accessories. So all my accessories load, but the camera is nowhere to find.
I've also checked the rtsp source via VLC, I'm getting a solid stream there. I really don't want to give up on this :( Does anyone have any other suggestions?

So I did a clean install of raspbian, ffmpeg and homebridge. Now the camera is adding as an accessory in the Home app. I believe the load homebridge on boot was causing issues here.
Now the camera doesn't have a feed and still image. I'm trying all kinds of solutions that were provided to previously answered similar issues, without any luck. I'm not getting an error or anything in the output. The config file is still the same as above. Any help in the right direction? I did set my maxWidth to 640, height to 360 and maxFPS to 30 atm.

this is an output I get when the Home app gives me a "No response" from the camera view:
Does anyone know what this means?

rtsp_transport tcp -re -i rtsp://user:pass@<IP_ADDRESS>:10554/tcp/av0_0 -threads 0 -vcodec h264_omx -an -pix_fmt yuv420p -r 30 -f rawvideo -tune zerolatency -vf scale=640:360 -b:v 132k -bufsize 132k -payload_type 99 -ssrc 1 -f rtp -srtp_out_suite AES_CM_128_HMAC_SHA1_80 -srtp_out_params zWXhsnyHoXSvttMdxGbewoDI6rZwUsAsj6/NSsdj srtp://<IP_ADDRESS>:64149?rtcpport=64149&localrtcpport=64149&pkt_size=1378

So I got it working. In case anyone encounters the same issues I had, here are a couple of steps that helped for me. Maybe we want to mention this in the documentation.
1. When you're not seeing the camera in the Home app.
Adding the camera to the Home app is not like other plugins. After adding Homebridge to the Home app, you have to add another accessory, but not scan the QR. Click the link I don't have a QR and the camera will be visible in the next view. If that also doesn't happen. Quit Homebridge, change the homebridge name (mac address) and the camera name). Retry and it will show up.
2. When you don't have a feed in the camera app.
The moment you open the camera in the home app, you should see the feed url output in Terminal. If this is not the case, try rebooting Homebridge. This wasn't always the case for me. Once you see the feed url in Homebridge, and you still don't see the feed in the Home app, play with your settings. and try again. This means, change the camera name again and add it to Homebridge again.
3. Settings that made my feed not work in the Home app

The resolution of my camera had to be the exact resolution of the camera output. Anything other than that made it not work. So for me that was 940 x 940 (because of the fisheye lens camera).
Adding rtsp_transport tcp before the -re -i helped for me.
Framerate for me is still at 30. Even though my camera doesn't support this.
Also keep in mind, that you might have to open the home app several times before the feed finally shows up. After the feed has shown up 1 time, it worked everytime.
Immediately after my feed was working, all my lights were disconnected (even the official homekit supported ones, that don't run via Homebridge). This took about an hour, before everything became responsive again. This includes the camera.

Hi @xdenneboom do you have a snippet/gist of the final config you used? I'm having very similar issues and have tried everything. I have ensured my camera can handle the resolution and fps requested, I'm getting stills but cannot get the live stream working at all - below is a snippet of my config
        {             "platform": "Camera-ffmpeg",             "cameras": [               {                 "name": "Living Room Camera",                 "videoConfig": {                     "source": "rtsp_transport tcp -re -i http://<IP_ADDRESS>:554/ch0_0.h264",                     "stillImageSource":"-i rtsp://<IP_ADDRESS>:554/ch0_1.h264 -vframes 1 -r 1",                     "maxStreams": 2,                     "maxWidth": 1280,                     "maxHeight": 720,                     "maxFPS": 30,                     "vcodec": "h264_omx"                 }               },               {                 "name": "Nursery Camera",                 "videoConfig": {                     "source": "rtsp_transport tcp -re -i rtsp://<IP_ADDRESS>:554/ch0_0.h264",                     "stillImageSource":"-i rtsp://<IP_ADDRESS>:554/ch0_0.h264 -vframes 1 -r 1",                     "maxStreams": 2,                     "maxWidth": 1280,                     "maxHeight": 720,                     "maxFPS": 30,                     "vcodec": "h264_omx"                 }               }             ]           },

I'm getting a No Response in the Home app also. I can see the rtsp stream using VLC fine, but very often the Home app will return No Response from the stream. config is:
{
"description": "Homebridge",

"bridge":

        {
        "name": "Homebridge",
        "username": "1A:1A:1A:B6:BC:A9",
        "port": 51447,
        "pin": "000-00-001"
        },

"platforms":

        [
                {
                "platform": "Camera-ffmpeg", "cameras":
                        [
                        {
                        "name": "Camera",
                            "videoConfig":
                                {
                                "source": "rtsp_transport tcp -re -i rtsp://<IP_ADDRESS>:554/onvif2",
                                "maxStreams": 3,
                                "maxWidth": 480,
                                "maxHeight": 270,
                                "maxFPS": 30
                                }
                        }
                        ]
                }
        ]
}

Any ideas how to debug this. In the log the only thing that seems related is:
[Camera-ffmpeg] ERROR: FFmpeg exited with code 1

Thanks, Terry

Put
"debug": true
into videoConfig.
FFmpeg exiting with code 1 usually means it doesn't understand parameters and/or it has problems analyzing the input stream.


FBilling on FreePBX 13.0.70/Asterisk 13.7.2 Breaks Extensions management

Installed FBilling on a fresh install of FreePBX 13 with Asterisk 13 and after the install any attempt to add a new extension or edit an existing extensions results in this error:
/var/www/html/admin/modules/fbilling/functions.inc.php
34.
35.global $db;
36.
37.## since provided gui_link opens in current window/tab we have to do this so some of our links will be open in new tab
38.class gui_link_new_tab extends guitext {
39.    function gui_link_new_tab($elemname, $text, $url, $userlang = true) {
40.        $parent_class = get_parent_class($this);
41.        parent::$parent_class($elemname, $text);
42.        $this->html_text = "elemname\">$text";
43.    }

This basically makes FBilling unusable. Has it been tested with these latest releases?

Hello,
Although FreePBX 13 is not "officially" supported and tested, it works -
commenting out line 41 on /var/www/html/admin/modules/fbilling/functions.inc.php - solves the issue
//parent::$parent_class($elemname, $text);
hope that helps...

Regardless of this, there is also issue #30 that is making it impossible to use FBilling.

Commenting line 41 fixed the extension issue but still can't use FBilling due to issue #30


Add all systems

Some less common systems (or at least ones that I don't use) are missing directories and image assets.

Added systems that have good source images from Pineapple Graphics. Skipping others for now. Also added generate-images.py script to auto-resize images and add drop shadow.


Hierarchical + pagination issue

Page is not reset to 1 when refining the hierarchical facet
Steps to reproduce:

empty query
go to page > 1
Refine the hierarchical facet

Indeed, strange because a classical refinement list does.

The bug is in the helper, I am on a pull request


Allow for one-key access

Use case: A user who can only press one key (a switch it's called) would like to access the whole screen/control a mouse. There are methods - MacOS has a switch scanning method built in but an alternative would be useful.
Generally the idea is you need to have a time parameter - a n ms scan rate - which highlights each "item" at a fixed rate. The user could change this. Then as it highlights each block sequentially the user selects with their one key the block they want. So it cycles through each item - you can group each item either in a block of items or in a row-column type approach. Take a look at https://acecentre.org.uk/resources/switch-access-technology - for some of the techniques
NB: It would require an additional modal on each selection of an item for what the user wants to do - left, right click etc.
NB: this whole grid approach is originally from Dragon: https://www.youtube.com/watch?v=T-WRJgpM2Gs

Would you be interested in something like this as a separate project? This seems more like a niche accessibility feature. Most of the scaffolding for this has already been done and shouldn't be too hard to implement, but I have some reservations about making it a part of warpd.

the idea is cool. an other approach could be having a morse code input layer which interacts on top of wrapd.

Yeah. That’s one idea - particularly useful for one key input but sadly it’s not used much in the Assistive tech space (nb. See our https://github.com/AceCentre/MorseWriter project). Having this visual overlay look is much easier cognitively than learning a code combination

I'm still in the process of hammering out some of warpds platform APIs, but will write a small demo when I have some time. Most of the platform code will be shared anyway, so the work being done should profit both projects.


Accordion menu: disable the keyboard interaction?

How can I disable the keyboard interaction with the accordion menu?
I can disable it in jQuery accordion in the following way:
      $('.accordion').accordion({
        heightStyle: "content",
        collapsible: true
      })
      $('.ui-accordion [role=tab]').unbind('keydown')

But I have no idea how to do so in Foundation. Any ideas? Something that can be done in Foundation?

This is a bad idea as these are important accessibility features.

Do not disable keyboard interaction on any component of your page. A lot of people can only navigate through your website this way.

What if it conflicts with more important keyboard interactions, e.g. something like a Tags input inside an Accordion form. When you press DownArrow in hopes to trigger the combobox, it instead scrolls down to the next AccordionTrigger. The fact that we can't change the keybind to something else is incredibly bad accessibility.

@Esensats not sure what Radix components are.
Regarding other event listeners, you can prevent their propagation and bubbling (up and down) with the correct event handler settings.


About training and testing

Hello and thank you for your significant contribution to underwater object tracking. Could you please upload the.py file needed for training and testing？

It will be uploaded as soon as possible. Thank you.


Inconsistent Release Name - Namespace appended

Output of helm version: v2.11.0
Output of kubectl version: v1.11.5
Cloud Provider/Platform (AKS, GKE, Minikube etc.): n/a
I've created 2 additional namespaces:

util
dev
default

Tiller is deployed in the util namespace, and has access to the dev and default namespaces (thus can deploy to those namespaces).
This allows me to have 1 tiller/helm install for multiple namespaces, with the exported ENV var of TILLER_NAMESPACE=util
When doing an install to a specific namespace, I tend to either call it out directly via --namespace=dev or use kubectx dev to switch to a context with that namespace as a default.
During the install of a new chart, I specify a name, and specify the namespace to target - What I've noticed is that on upgrade, if the namespace isn't specifically defined in the CLI, there's a chance that a new helm deployment will be created, with the namespace as part of the deployment name.
Say we are in the context of the default namespace, and wish to install the bitnami nginx chart:
$ helm --namespace dev install --name nginx bitnami/nginx --version 2.1.0
Checking the install went well: (versions are mocked)
$ helm list
NAME             	REVISION	UPDATED                 	STATUS  	CHART           	APP VERSION	NAMESPACE
nginx            	1       	Mon Jan  7 15:36:10 2019	DEPLOYED  	nginx-2.1.0     	1.14.0     	dev

If we were to then update our context to be in dev, so that the --namespace flag wasn't needed, but needed to update our helm deployment:
$ helm upgrade nginx bitnami/nginx --version 2.1.2
There's a good chance that you will end up with a helm list that looks like:
$ helm list
NAME             	REVISION	UPDATED                 	STATUS  	CHART           	APP VERSION	NAMESPACE
nginx-dev        1       	Mon Jan  7 15:36:10 2019	DEPLOYED  	nginx-2.1.2     	1.14.2     	dev
nginx            	1       	Mon Jan  7 15:36:10 2019	DEPLOYED  	nginx-2.1.0     	1.14.0     	dev

Note that we didn't specify the --install flag which would create the release if it didn't exist.
IMHO the namespace shouldn't be appended to the name, unless it's explicitly requested by the user.
Getting to replicate the above behavior isn't consistent, I only discover it after something failed to update.
There's a chance that I was passing the --namespace flag as part of the upgrade, which according to the docs should have no effect on the name itself:
--namespace string    namespace to install the release into (only used if --install is set). Defaults to the current kube config namespace

Hi, @FrenchBen - as we do not have enough detail to reproduce this, we'll close this at this time. Helm 3 no longer has Tiller, which may help with some of your concerns; see https://helm.sh/docs/faq/ for more details about the changes from Helm 2 to Helm 3.


make --grep case insensitive?

Hey,
Since grep is now regexp based, I tried sending /pattern/i but didn't seem to work
Is there a different way of getting the Grep to be case insensitive?
Thanks :)

Closed via 6126e38566abe2735491deb8b22b4ef88d50226c

I would vote to change the default grep to be case-insensitive, when the grepped string is not "regex-like". This could be done in the next major version.
I think the vast majority would find case-insensitive more valuable, and for the edge-cases where that is not desired, they can specify a regex to get exactly what they want.

Is --fgrep case-insensitive?  If not, that may be a better candidate.

(--fgrep is a string-only search; if you want case-sensitive string searches, use --grep <not-a-regex-string>)


New Rubygems release for Rubuy 2.5.0 compatibility?

It looks like the latest rubygems release of delayed_job isn’t compatible with Ruby 2.5.0, although the current master is. Could we get a gem release to include the recent changes (most notably https://github.com/collectiveidea/delayed_job/commit/6cf9b0b2c256d20148172d074ca60e13d6439903) for Ruby 2.5.0 compatibility?

Released


Add support for dbt Cloud as Execution Mode

Currently astronomer-cosmos supports following execution modes:

Execution Modes
Cosmos can run dbt commands using five different approaches, called execution modes:

local: Run dbt commands using a local dbt installation (default)

virtualenv: Run dbt commands from Python virtual environments managed by Cosmos

docker: Run dbt commands from Docker containers managed by Cosmos (requires a pre-existing Docker image)

kubernetes: Run dbt commands from Kubernetes Pods managed by Cosmos (requires a pre-existing Docker image)

azure_container_instance: Run dbt commands from Azure Container Instances managed by Cosmos (requires a pre-existing Docker image)

The choice of the execution mode can vary based on each user’s needs and concerns. For more details, check each execution mode described below.

It would be great to see dbt Cloud in that list as well, so we can automatically create and trigger remote jobs using dbt Cloud API under the hood.

We don't have resources for that, I would propose to reach to guys responsible for dbt Cloud Airflow provider: https://github.com/apache/airflow/tree/main/airflow/providers/dbt/cloud

@jaklan I agree this is a relevant feature, but we also have limited bandwidth. If someone from the community is keen on implementing this, we can support them.

Relevant


Does panning's modifiers not support space key?

I want to hold down the space bar and click the mouse to pan the canvas.

only support 'alt' | 'ctrl' | 'meta' | 'shift'

only support 'alt' | 'ctrl' | 'meta' | 'shift'

Oh, well, thank you


lexer: should allow to skip whitespace and comments

add a way to specify comments (start, end, ...) and whitespace and automatically skip them

some tests have to be changed afterwards