Recursive processing

Add a capability of handling directories recursively.
Add a command line switch, similar to grep's -r/--recursive.

Two related issues:

#26
#27


多个url如何匹配到一个组件里去 multiple url  how  to matching one page/components

当我有多个url的时候，并且目录结构不一致，我想让他指向同一个组件，目前知道的方法就是nginx转发或者直接在中间件里进行验证并重定向，有其他的方法可以直接设置吗?
比如
www.abc.com/en/details
www.abc.com/details
这两个链接都指向details组件，同时我能在代码里直接知道这是来自哪个url，这样我就知道details组件里我该渲染并返回英文的内容或者是中文的内容
When I have more than one URL and the directory structure is different, I want him to point to the same component. At present, the known method is nginx forwarding or verification and redirection directly in the middleware. Is there any other way to set it directly?
such as：
Www.abc.com/en/details
Www.abc.com/details
Both links point to the "details" component, and I can directly know in the code which URL it comes from, so I know in the "details" component that I should render and return English or Chinese content.

This question is available on Nuxt community (#c8929)

nuxt.config.js   extendRoutes     ，The problem seems to have been solved.
https://zh.nuxtjs.org/api/configuration-router/


1.5.0 stone block3 err

Please provide a brief summary of the bug
hs_err_pid13588.log
plye map and crash
Please provide steps to reproduce where possible
No response
Expected Results
crash
Actual Results
crash
What Java Version are you using?
1.8.0_351-b10
What is your operating system and platform?
No response
How did you install Java?
No response
Did it work before?
No response
Did you test with other Java versions?
No response
Relevant log output
No response

Can you try our latest 17.0.5 and post the log if it still happens?

@wnsgml0814 ^^

Please provide a brief summary of the bug
hs_err_pid13588.log plye map and crash
Please provide steps to reproduce where possible
No response
Expected Results
crash
Actual Results
crash
What Java Version are you using?
1.8.0_351-b10
What is your operating system and platform?
No response
How did you install Java?
No response
Did it work before?
No response
Did you test with other Java versions?
No response
Relevant log output
No response

Hi, sorry for my English (I use google translator...) The fact is that I also have this problem. More specific is version 1.5.0 of stoneblock, 1.4.3 is luxurious. This mass because of the driver version... unfortunately I can only make it work (it's AMD) with 22.6.1 backwards. The following versions causes minecraft to crash (this modpack).

This need to be reported to the Mod author.


Chrome crashes when open files from google drive

If I and my friend open file from google drive, chrome crashes.
When I open file in http://draw.io page, file opens successfully.
It only occurs on my, friend's laptop, in my desktop it works fine.

I updated my chrome, and it works fine!

This is for development issues, do not post usage questions here, post them at https://groups.google.com/forum/#!forum/drawio.


Reader doesn't read hyperlink - set_area_hyperlink and set_area_style fail

To reproduce:

Run ZDEMO_EXCEL1 and download to file 01_HelloWorld.xlsx
Open 01_HelloWorld.xlsx, see that cell B4 has an hyperlink
Run ZDEMO_EXCEL37 with input file 01_HelloWorld.xlsx and display result
You can see that the cell B4 has lost its hyperlink

Also issue with SET_AREA_STYLE, it fails during set_area_style (error "Unable to interpret input as column"):
REPORT.
DATA: gc_save_file_name TYPE string VALUE 'issue-938-style.xlsx'.
INCLUDE zdemo_excel_outputopt_incl.
START-OF-SELECTION.
  TRY.
      DATA(lo_excel) = NEW zcl_excel( ).
      DATA(lo_worksheet) = lo_excel->get_active_worksheet( ).
      DATA(lo_style) = lo_excel->add_new_style( ).
      lo_style->font->color-rgb = zcl_excel_style_color=>c_red.
      lo_worksheet->set_area_style( ip_column_start = 'A' ip_row = 1 ip_style = lo_style->get_guid( ) ).
      lcl_output=>output( cl_excel = lo_excel ).
    CATCH cx_root INTO DATA(lx_root).
      MESSAGE lx_root TYPE 'I' DISPLAY LIKE 'E'.
  ENDTRY.

I don't reproduce the error anymore. Was solved by #930. Closing and deleting the PR.


fix auto pr update. what up jq?

yeah nix-shell v nix shell. Ideally use nix shell, but for now whatever


Latex output of bold symbols not working

Latex output of bold symbols e.g. 𝐋 (\bfL) is not working. The best fix would probably be to define these in the LaTeX template https://github.com/mpastell/Weave.jl/blob/master/templates/julia_tex.tpl .

@ChrisRackauckas would you have time to look into this? Or do you know of a package that would define Julia's \bf* symbols? Weave converts unicode to tex symbols using uc2texfunction: https://github.com/mpastell/Weave.jl/blob/26cf943d256a8b8494e68da3a3938c36c54ae689/src/format.jl#L238
The main advantage is that the output also works with pdflatex and it supports more symbols than any xelatex font that I've managed to find.

I don't know of a package that would do that. I think the right way to go would be to extend uc2tex to handle these cases, though that might be a lot of work.

I think I managed to improve this quite a bit with the previous commit, so the most common cases should work now. I'll leave the issue open as I didn't implement support for all cases e.g. \bftwo

Started working on an improved version of uc2tex which should be directly implemented in JuliaDocs/Highlights.jl#30 (because text and math needs to be escaped differnetly)


Range Error after upgrade to 2.1.1

numbro(4230).format({thousandSeparated: true})
Getting RangeError: toFixed() digits argument must be between 0 and 100 after webpack production build.
Works without error in development mode.
I reverted version to 2.0.6 and everything works fine.

I also ran into this problem and I had to downgrade to 2.1.1 for it to work.
Stay tuned.

Are there any news on this? Is there a pr in the works?

I haven't had time to investigate yet, but I will asap

I have the same problem - this only occurs when creating a production build (via webpack) -- in dev, all is fine.
Note the old format "0,0" has the same problem.
The following function is getting called with a precision of -1 for some reason:
function toFixed(value, precision) {
  if (value.toString().indexOf("e") !== -1) {
    return toFixedLarge(value, precision);
  }

  return (Math.round(+"".concat(value, "e+").concat(precision)) / Math.pow(10, precision)).toFixed(precision);
}

I have the same problem - this only occurs when creating a production build (via webpack) -- in dev, all is fine.
Note the old format "0,0" has the same problem.
Both 2.0.5 and 2.1.2 are affected.
The following function is getting called with a precision of -1 for some reason:
https://github.com/BenjaminVanRyseghem/numbro/blob/develop/src/formatting.js#L463
function toFixed(value, precision) {
  if (value.toString().indexOf("e") !== -1) {
    return toFixedLarge(value, precision);
  }

  return (Math.round(+"".concat(value, "e+").concat(precision)) / Math.pow(10, precision)).toFixed(precision);
}

experiencing the same issue on latest vue.js

Thanks for the input :smile:

@BenjaminVanRyseghem By the way, I had no issues when running via react-scripts 1.0.14 (app was created with create-react-app) -- only had issues after upgrading to 2.1.5.

The check here:
function setMantissaPrecision(output, value, optionalMantissa, precision, trim) {
  if (precision === -1) {
    return output;
  }

doesn't seem to work...

very odd.

Is there any estimate when this issue is going to be adressed?

change the package.json main field to node_modules/numbro/dist/numbro.js it's ok, but .min file is wrong.

Numbro 2.1.1 seems to work fine for me, but I get this error with 2.1.2 when using Webpack with mode: 'production', or by using the TerserPlugin (which is used by default in the production mode).
Switching to MinifyPlugin seems to fix the issue, so I guess the TerserPlugin does something in the minifying process, that messes up Numbro's logic.

Bump, any update on this?

I have the same issue so change import to this
import numbro from "numbro/dist/numbro"
to make it work.

I ran into this issue as well...
I dug into it a little and - like @pwfcurry - I noticed, that the "-1 check" gets skipped for some reason.
Turns out: For whatever reason this check gets removed from the production code.
The reason you still see it in the debugger are the sourcemaps.
Disabling sourcemaps reveals the truth. :P
I strongly suspect terser to be the culprit here.
And judging from @jansiegel's comment and the number of upvotes that seems to be right...
Funnily: Using the non-minified build (as @denisgursky commented) does not trigger the removal.
I'm using:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

I can now confirm, that this is indeed a bug in terser.
Steps to reproduce:

Grab the /dist/numbro.min.js file
Execute npx<EMAIL_ADDRESS>numbro.min.js --compress -o test.js
Search for function(e,t,r,n,i){if(-1 in numbro.min.js and test.js

In numbro.min.js you'll find:
function(e,t,r,n,i){if(-1===n)return e;

In test.js you'll find:
function(e,t,r,n,i){if(-1===S)return e;

Notice the n got changed to S.
This probably makes the statement -1===S to always be falsy, which in turn flags it for code removal.
I tested a few terser-versions and all seem to have this problem.
I'll open a ticket over there and link this.

I'm back again.
Pretty sure I found the problem this time around: https://github.com/terser-js/terser/issues/354

Great job finding that @freund17 ! Really hope it will be fixed soon :)

In the meantime, you can configure Terser to turn off the collapse_vars option. The webpack config will look something like this:
optimization: {
  minimizer: [
      new TerserPlugin({
        terserOptions: {
          compress: {
            collapse_vars: false
          }
        }
      })
    ]
}

As of July 31st @freund17's patch on Terser was merged in https://github.com/terser/terser/issues/354#event-2522403250 and updating to 4.2.1 solved this problem for me

I am still seeing this issue with 2.3.1 and 2.3.2

I am still seeing this issue with 2.3.1 and 2.3.2

This is most-likely the same issue we're seeing with this issue and the '0' and '0,0' formats, but not the '0.0' format.


feat: offer quick filters for featured keywords on fairs (WIP)

Companion to https://github.com/artsy/gravity/pull/17997 and depends on https://github.com/artsy/metaphysics/pull/5878 (draft). When a fair has featured keywords, offer quick-filter "pills" with those keywords. Clicking should populate the existing keyword filter field and refresh artwork results. Clicking again should clear the keyword filter and refresh results.
I'm not sure if these should always appear on the fair's artworks page, or only in the base case of no active filters. If they always appear, there's a significant chance that further filtering by these keywords leads to empty results.

@dzucconi I could use your input about whether I'm going about this incorrectly. These pills seem to operate correctly, except they don't update the keyword field as expected in the "all filters" sidebar. The URL is updated and the sidebar is even initialized correctly on a full navigation, but not upon clicking the pill.

@joeyAghion I'd imagine that the component just doesn't update due to anything affecting it client side, and rather just pulls out the initial routing value. Probably just a bug.
Unfortunately I'm really not one to ask about anything to do with the filters.

@dzucconi - but you do know how all the parts work together 😉
@joeyAghion - something like this should work? https://github.com/artsy/force/compare/damassi/example?expand=1
It listens for changes to the keyword query param and updates the value of the search input. (Not tested, but something you could play with)

@damassi i don't really. i try to retain no knowledge of filters in my brain. anyone on onyx would have more of an idea of what's going on here

This worked. Thanks both for the input!
I think this is finally ready for review. As discussed, it's a no-op in production or any other environment, until some keywords are manually selected for a fair (as I have for 1 fair in staging).


Import 55d2756eb0: Using native js implementation of sass now (by Maki)

This is an automated proposal to look at a commit made by Maki and import it into Overte

Commit:
55d2756eb0a078f43519a34a086f15372e0b0317

Author:
Maki

Date:
Mon, 02 Mar 2020 22:28

Using native js implementation of sass now

Stats:

Filename
Stats
Lines
Added
Removed
Lines in blame

tools/jsdoc/package.json

2
1
1
1

tools/jsdoc/template/publish.js

21
7
14
7

2 files
-
23
8
15
8

To work on this, please assign the issue to yourself, then look at the commit and decide whether this would be a good addition to Overte.

If the commit is useful, tag it with "Tivoli: Keep", and keep it open until it's merged.
If the commit is not useful, tag it with "Tivoli: Discard", and close it.
If the commit is not useful right now, but might be later, tag it with "Tivoli: Maybe later", and close it.
If it's hard to decide, tag it with "Tivoli: Discuss", and keep it open.

Useful commits should be submitted as a PR against Overte. Tag this issue in PR, so that it's automatically closed once the PR is merged.
You can cherry-pick this issue with this command:
git cherry-pick 55d2756eb0a078f43519a34a086f15372e0b0317

Not sure if this improves anything, but I suppose there was a reason for it?


Fix null pointer on PowerFlex attach volume edge case

Description
This PR fixes a null pointer edge case where a PowerFlex volume is attached to a VM.
In this edge case, a VM has been created, started, stopped, and then reimaged. VM has a last host ID but the newly attached volume does not yet have a storage pool assigned, it will be assigned on the VM start.  However, we assume that if the VM's host is not null, we need to try to revoke access to the volume for the host. Since there is no storage pool yet for the volume, we hit a null pointer when checking to see if the volume's pool is PowerFlex.
This was affecting all storage types, I could reproduce it with local storage, since the null pointer is at the check for pool's type.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[x] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?
Verified but was reproducible with a local storage dev environment. Applied patch and confirmed it fixed the issue.

This is only NPE check, simply packaging and github actions tests are enough.
@blueorangutan package

@rohityadavcloud a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 6037


ci: update Dockerfile used to run web tests

update to the latest LTS and add Xvfb to run browser in non-headless mode

Thank you!


do not overwrite /etc/sysconfig/docker-storage always

Right now upon each run of script, we overwrite /etc/sysconfig/docker-storage
and this could be bad if user added some of his own storage options. These
will be lost over next run of script.
Write /etc/sysconfig/docker-storage only when pool is created. After that
leave it untouched.

Patch merged. Closing.


Ai-BOT

Issue no. 1005

Kindly refork and resync

move

why is the bot not working when i enter hi ?
kindly fix this , improve the ui as well


WIP Add more flexibility to Elasticsearch Helm Chart

What this PR does / why we need it:
We wanted some more flexibility on the runtime options for ElasticSearch. Mostly refactors elasticsearch.yml into it's own template as a number of additional settings were added.
This will support 1.x line if custom images are provided.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
This is still a WIP, trying to get some quick feedback.

Wrong direction >.< closing, looking at this internally first


How to change focus for all float_element()'s by default?

Hey,
I'm not sure if its intended or not, but when I start
require("dapui").float_element()
I can select following elements:

When I select repl or console it sets the focus inside the floating window.
For anything else the focus stays outside. Now my problem is, when I move my cursor the floating window disappears. Currently I have to actively click into the floating window to keep it and do my work in there.
In the documentation, there is an enter attribute:
require('dapui').float_element('all elements', { enter = true })
but it is only possible to use it for a specific element? I would like to have it for all elements. I tried {} and '' as element argument but both didn't work.
Is there an option, I am missing?
Thank you!

but it is only possible to use it for a specific element? I would like to have it for all elements. I tried {} and '' as element argument but both didn't work.

I don't understand what you mean by have it for all elements instead of a specific one. Do you mean you want to open a window for each element?

I would like to use the picker for the elements.
require("dapui").float_element()
But for each element, I pick, the same behavior.
Whereas the behavior is, that the cursor is set into the floating window of the element, when picked.

I've found for myself a minimalistic solution :
dapui/init.lua#L138
+ args.enter = true
if you @rcarriga want this line of code in your repo I can create a PR with a config parameter instead of true.
another option would be to add for each element float_defaults with enter = true;
breakpoints.lua
function dapui.elements.breakpoints.float_defaults()
  return { enter = true }
end

or change the default behaviour in the window manager, if the keyval settings.enter is not available enter by default:
windows/init.lua
but these 2 other options are tooo intrusive for this small change :)

Nope, just the suggestions above, but was waiting for an answer. And forgot that this issue ticket even existed :)

but it is only possible to use it for a specific element? I would like to have it for all elements. I tried {} and '' as element argument but both didn't work.

@Fabian-programmer try nil
require('dapui').float_element(nil, {enter = true})

This works perfectly thank you @ciganandrea !!


refine optimize_for_inference_lib.py

there is no need to get keys()
just use "in" directly

Can one of the admins verify this patch?

Thank you for your contribution @frankfqchen. We love code health improvements, but we'd prefer that it not be done in seven separate one-liner commits. It reduces the signal to noise ratio of our change history and puts stress on our CI system. Please merge this pull request (along with the others) into #4951 since that's the only one with an actionable comment.


blobToDataURL does not work in IE10

The function blobToDataURL returns null for the dataURL in IE 10.
As IE10 does not support the use of createObjectURL(), I wanted to use your library. I need an URL that can be added to the src attribute of an img.

The tests are passing in Sauce Labs on IE 10, and there is a test for blobToDataURL.
Closing old issues, please reopen especially if there's a reproducible test case, thanks.


[rn 0.29.0] android compile error cause by uimanager TouchEvent.obtain params change

after upgrade react native to 0.29.0, react-native-svg will failed in compile. because of this commit https://github.com/facebook/react-native/commit/837aafde72fb43836aa7c36cf66db4e9abae0e17
and error is
 TouchEvent.obtain(
                          ^
  need: int,long,TouchEventType,MotionEvent,float,float,TouchEventCoalescingKeyHelper
  find: int,long,TouchEventType,MotionEvent,float,float

in RNSVGSvgView.java

like react native do, import TouchEventCoalescingKeyHelper and add to TouchEvent.obtain will fix method. at least work in my project.
// add TouchEventCoalescingKeyHelper
import com.facebook.react.uimanager.events.TouchEventCoalescingKeyHelper;

private final TouchEventCoalescingKeyHelper mTouchEventCoalescingKeyHelper = new TouchEventCoalescingKeyHelper();

send a pr to fix it #71. please check @magicismight

same issue with rn 0.30 and react-native-svg 4.2.0

@somename85
4.2.0 has changed peerDependency as
    "peerDependencies": {
        "react-native": ">=0.32.0"
    }

using 4.1.5 instead.

@magicismight
my bad, i missed it
thanks a lot )


[google-cloud-cpp] update to the latest release (v2.20.0)

Updates google-cloud-cpp to the latest release (v2.20.0)
Tested locally (on x64-linux) with:
for feature in cloudquotas; do ./vcpkg remove google-cloud-cpp; ./vcpkg install "google-cloud-cpp[core,${feature}]" || break; done

and
./vcpkg remove google-cloud-cpp && ./vcpkg install 'google-cloud-cpp[*]'

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Thanks for the new version and the feature!


va-checkbox component doesn't have change event?

I am using vuestic-admin template and want to get checkbox change event. But no way...
This is my code:

html
<va-checkbox
:label="Does Not Apply"
v-model="dna"
@change="doesnotapply"
/>

Javascript method
doesnotapply() {
console.log('aaaa');
}

Javascript function never be called when I check/uncheck my checkbox.
Please let me know if there's any way or it's a bug.
Thanks

Why not use a watch on the v-model and perform an action when the value changes?
watch: {
  dna (newVal, oldVal) {
    if (newVal) {
      // Checkbox was checked.
      // Perform your action here..
    } else {
      // Checkbox was UN-checked.
      // Perform your action here..
    }
  }
}

Thanks, but little weird.
Of course, watching v-model is working, but it doesn't have even change event?
I have a lot of check boxes in one page with different v-model, so with watching, I need to make a lot of code for handling them all separately...
Any idea for using @change ?

You can achieve the same with @input.
We try to keep ins/outs consistent across components. So normally it's :value + @input.
Exposing native event provides some value though.

Another thing is that the checkbox we provide behaves differently from vanilla checkbox. I.e. it doesn't have state. So calling event change wouldn't make too much sense, because nothing is changed until parent component voices his agreement. I think input fits better.


New Language Support

Language support is not the same as that language having a specific library. This is a lot more work. Currently Odin only supports running code written in Python, Node and Go, this issue pertains to jobs written in languages other than this.
Definitely open to more ideas, but I think the following are worth supporting:

[x] Bash
[ ] Ruby
[ ] Rust

Bash support added with [this[(https://github.com/theycallmemac/odin/pull/10). Ruby being interpreted language should be an easy implementation - Rust will be a bit more difficult.

Another comment to make is, it's really difficult to implement a Bash Library for odin - I might create a odin-cli script command which allows users to run watch, condition and result operations.

Closing this issue for now, opening issues for bash and rust engine and sdk support.


Fix Interchange when used on images path containing parenthesis

Hi,
we faced an issue with Interchange plugin when the Interchange data contain some images with parenthesis in their URL.
The issue happens only for background style replacement.
It comes from the fact that Interchange concatenates the image path with 'url( )' which does already contain some parenthesis:
https://github.com/zurb/foundation-sites/blob/develop/js/foundation.interchange.js#L160
To fix that, i suggest escaping the parenthesis in the image path.
Example of use case
We do use Thumbor to manipulate our images.
As shown below, Thumbor's way of applying on-the-fly filter to images is by adding some keywords containing parenthesis on the picture url called:
http://thumbor.readthedocs.io/en/latest/strip_icc.html
Note for the reviewers
I've updated the test case to reflect this fix biut i'm not sure whether you prefer having a dedicated test for this case or simply, as I did, having the data used in all Interchange tests using URL containing parenthesis (this ensures that all scenarii work fine with parenthesis). Please let me know if you do prefer a dedicated test.
Cheers

Looks good to me.


realm_attributes is not updating when terraform config changes

Describe the bug
When the LDAP realm_attributes string is updated on the artifactory_group
resource, the plan reports that the realm string will be updated, but the realm
string is not actually updated.
resource "artifactory_group" "example" {
  name = "example"
  realm = "ldap"
  realm_attributes = "ldapGroupName=example_team;groupsStrategy=DYNAMIC;groupDn=CN=EXAMPLE_TEAM,OU=some,OU=organizational,OU=unit,DC=example,DC=com"
}

Apply, then edit the realm_attribute string.
Expected behavior
Th edit should be persisted on the end server. Instead, the edit is not completed, and then it calculates the same edit on the next run.
Additional context
Artifactory version: 7.90.8
provider version = "~> 11.0"
terraform version = terraform 1.8.4
Findings
When trying to PATCH an LDAP group, it doesn't actually allow for you to update realm_attributes, despite what the documentation says: Updates an Access group's external ID, realm, or realm attributes.
$ curl -vvv -H "Authorization: Bearer $(jf atc | jq -r .access_token)" -XPATCH -d '{"realm_attributes": "<new-string>"}' https://artifactory.example.com/access/api/v2/groups/example_group
{
  "name" : "example_group",
  "auto_join" : false,
  "admin_privileges" : false,
  "realm" : "ldap",
  "realm_attributes" : "<original-string>",
  "members" : [ ]
}

A GET request after confirms that the realm_attributes was not edited.

I thought about destroy then recreate, but this actually can't work for me. deleting the group will invalidate:

group scoped access tokens (not a huge deal)
group membership will start from empty again, and as users sign in, they get added to the group.

this is huge because LDAP sync only happens on user login, and there is no custom API call to trigger an LDAP sync on demand (feature request here: https://jfrog.atlassian.net/browse/RTFACT-30616). For many of our automation cases, we have an admin account generate access tokens on their behalf.
As a workaround, we login once during provisioning to trigger an initial sync. To recreate these groups would mean a mass login event over all users to trigger the sync per each user, which is an untenable solution in our environment.

@richardmcsong Thanks for the report. This looks like a bug in the REST API. I'll open a bug report internally.

@richardmcsong The realm_attributes in the Group API is an internal field to the platform and is not intended to be settable or updatable. I'll be updating the resource and make the realm_attribute a read-only field.
What's your use case that needs to set this field?

@richardmcsong Just noticed that in your previous comment, your curl command is pointed to the new Access API for groups. This API doesn't allow realm_attributes to be updated.
The current group resource in this provider is still using the old, deprecated Artifactory API. This old API allows realm_attributes to be set when group is created, but not updated.
Our plan is to add a new group resource to the Platform provider that uses that Access API, and deprecate the resource in this provider.

Hey @alexhung! Sorry I must've missed these messages.
I'm confused as to how I'm supposed to be configuring my LDAP synced groups if not through realm_attributes. We're currently creating the groups through terraform instead of manually clicking the import group button in the LDAP UI. Given that this is now no longer settable, what would be your suggestion to create the groups, as they are not automatically importable?


A way to download subtitles without downloading the video

I downloaded a video from crunchyroll only to find that the subtitles were not downloaded. It would be nice if I could now download the subtitles without having to transfer the entire video again, but I don't see any such option.
I'm testing with this page:
http://www.crunchyroll.com/yamishibai-japanese-ghost-stories/episode-2-zanbai-641889
This is on version 2014.08.05.

The subtitles behaviour in the last version should be better: with just --write-sub it will download only the english subtitles, with --sub-lang or --all-langs it will download others.
If you only want to download the subtitles just run youtube-dl 'http://www.crunchyroll.com/yamishibai-japanese-ghost-stories/episode-2-zanbai-641889' --skip-download --write-sub:
[Crunchyroll] 641889: Downloading webpage
[Crunchyroll] 641889: Downloading media info
[Crunchyroll] 641889: Downloading media info for 360p
[Crunchyroll] 641889: Downloading media info for 480p
[Crunchyroll] 641889: Downloading media info for 720p
[Crunchyroll] 641889: Downloading media info for 720p
[Crunchyroll] 641889: Downloading media info for 1080p
[Crunchyroll] 641889: Downloading media info for 1080p
[Crunchyroll] 641889: Downloading subtitles for English (US)
[Crunchyroll] 641889: Downloading subtitles for Español
[Crunchyroll] 641889: Downloading subtitles for Español (España)
[Crunchyroll] 641889: Downloading subtitles for Français (France)
[Crunchyroll] 641889: Downloading subtitles for Deutsch
[info] Writing video subtitles to: Yamishibai - Japanese Ghost Stories Episode 2 – Zanbai-641889.enUS.ass

It shouldn't matter if the video has already been downloaded or not.
Since I think the solution is enough, I'm closing the issue. Thanks for the report.


Use libmockspotify

Instead of maintaining our own libspotify mock, we should use libmockspotify.

Fixed with the merge of #48.


Query parameter for SLO should be SAMLRequest/SAMLResponse instead of LogoutRequest/LogoutResponse

as discussed in #26

@tngan, you wrote:

@CatBakun @AlexeySafronov Yes, the string parameter should be only SAMLRequest /SAMLResponse instead of LogoutRequest/LogoutResponse, which are the message body but not the query parameter, thank you for pointing out, will update it soon.

Thanks for quick answer! I still think that query parameter must be SAMLRequest /SAMLResponse too.
I have created a new application in OneLogin (from template ''SAML Test Connector (IdP w/ attr w/ sign response) '') and set up as follows:

Then i wrote SP sample app based on your lib. When i try to logout from OneLogin (Idp-initiated logout ), I gets redirect with this query from OneLogin:

/sso/slo/callback?SAMLRequest=ndE9b4MwEIDhv8LmCWwwkOQEqJWyIKUd2qprZYyTIoGP%2Bg6pP7%2FkY4g6dOh4%0A0t3zDleRmcYZDnjChV%2Fc1%2BKIo3Zfi49N2neF1iq2RXeMVarz2O52ZazK3BzT%0AXrui34moJVpc64mN51pkKt2sq3FWvqkSdA55JqLvafQEl04tluABDQ0E3kyO%0AgC28Pj4dIEsUzAEZLY4ieneBBvQrmCjRVOdbuJTCnfY3Zohc4BURzSfzTCCl%0AmecEvRvxNPjE4iTPipwcm96wkWW63WpVybvaLf286u3%2BP%2Bl%2BCM4yhgd265np%0AkgFvgavZXKdfD2h%2BAA%3D%3D%0A

Then It was failed in original version of you lib.
I have changed this line to "parserType: 'SAMLRequest'," and method bigin work.
wiki HTTP Redirect Binding:

SAML requests or responses transmitted via HTTP Redirect have a SAMLRequest or SAMLResponse query string parameter, respectively.

My logout route:
app.get('/sso/slo/callback',
        function(req, res) {
                        sp.parseLogoutRequest(idp,
                            'redirect',
                            req,
                            function(requestInfo) {
                                logger.info(JSON.stringify(requestInfo));

                                //TODO: Logout from portal

                                sp.sendLogoutResponse(idp,
                                    requestInfo,
                                    'redirect',
                                    null,
                                    function cb(url) {
                                        res.redirect(url);
                                    });
                            });
        });

@tngan Are you able to help out in the Gitter chat?

@jakobsen9 Yes, feel free to leave description there.

@AlexeySafronov really appreciated that you provide a procedure to replicate that issue, you are right, the query parameter is different, once you url decoded -> base64 decoded -> inflate context (SAMLRequest), you will find out the raw xml is
<samlp:LogoutRequest ID='_71db5330-c5bf-0134-c996-064af1d3e5d9' IssueInstant='2017-01-26T06:34:42' xmlns:samlp='urn:oasis:names:tc:SAML:2.0:protocol' Version='2.0'><saml:Issuer xmlns:saml='urn:oasis:names:tc:SAML:2.0:assertion'>https://app.onelogin.com/saml/metadata/618830</saml:Issuer><saml:NameID xmlns:saml='urn:oasis:names:tc:SAML:2.0:assertion'>director@teamlab.io</saml:NameID></samlp:LogoutRequest>

And the root of xml is <samlp:LogoutRequest>, in current version of express-saml2, it assumes the query parameter is same with the name of root xml node, that's what parserType in #26  is specified.

@AlexeySafronov a patch to this issue is made, feel free to test it

@tngan, it's working now! Thanks alot!


Allow traversal to home directory with single button click - p4

When opening a file, it's convenient to have a single button that may be clicked to navigate to the user's home directory. For example:

File chooser opens
Click "Home" icon

File chooser navigates to System.getProperty( "user.home" ); value

Optionally, a button to navigate to the "user.dir" directory (user working directory) may be useful.

Yep, sounds good. I'd like to pass both of those values in via the immutable configuration value (as Optional<Path> values), and then only show the buttons if those values have been provided.

For what it's worth, see https://rules.sonarsource.com/java/RSPEC-3553 :

The Java language authors have been quite frank that Optional was intended for use only as a return type, as a way to convey that a method may or may not return a value.

And for that, it's valuable but using Optional on the input side increases the work you have to do in the
method without really increasing the value. With an Optional parameter, you go from having 2 possible inputs:
null and not-null, to three: null, non-null-without-value, and non-null-with-value. Add to that the fact that
overloading has long been available to convey that some parameters are optional, and there's really no reason
to have Optional parameters.

I completely disagree with their assessment, and their complaints actually don't apply in this particular case.

With an Optional parameter, you go from having 2 possible inputs...

Nope. Sensible codebases reject null as a value anywhere. It was a language design mistake to have pervasive nullable references everywhere, and it's a mistake that hasn't been repeated in modern languages that have more sensible type systems. null is never an acceptable value in the jwheatsheaf codebase.
Additionally, immutables.org generated types include the following methods for a property x of type Optional<T>:
Builder setX(T x);
Builder setX(Optional<T> x);

So the "it's inconvenient to wrap values in Optional" criticism doesn't apply. Both methods reject null values immediately.
A key point that everyone misses is that in null-hostile codebases, Optional is one and only technique by which we indicate that a value may not be present at the type level. A nullable reference T communicates absolutely nothing; it might be safe to dereference, it might not - at least with Optional<T>, the mere presence of the Optional type indicates to you that you should be checking first.
When Project Valhalla is completed, we'll have a way to express truly non-null values at the type level. As the next stages of Project Amber are completed, we'll gain the ability to pattern match on Optional values and I suspect some of the unsafe methods on Optional (such as get) will be deprecated...
if (x instanceof Optional y) {
  // safely use the guaranteed-non-null y value here
}


[RJSF] Migration v3-v5, Validation Error Fixes

Description

v3-v5
Fix Validation errors and don't show errors for required fields of their parent as optional fields.

TODOS:

Migration from v3 to v5 is a big change
The templates, objectfield and arrayfield needs to be updated

This PR fixes #
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@harkiratsm

@harkiratsm, what feedback does our resident RJSF Ninja have?

Actually I am still in a state where I am thinking about are patches required, I am testing some stuff at my end with ajv6. By the time I can work on adding the changes we required, and make the migration stuff faster by the end of this week.
Rest All good.
// @leecalcote

@harkiratsm more detail needed here.

Demo today, please.

I don't think the test failure is related to this PR.

final changes awaiting


ros/catkin_ws/src/aubo_robot/aubo_driver/lib/lib64/libotgLib.a(otgnewslib.o): unrecognised relocation (0x2a) in section `.text'

This problem may have something to do with Binutils and/or glibc version.
I have:
GNU ld (GNU Binutils for Ubuntu) 2.24
ldd (Ubuntu EGLIBC 2.19-0ubuntu6.14) 2.19
Could you please provide the libotgLib.a built by above configurations?
Thanks a million.

What's the GCC version of your system? Recommend GCC version > 5.0 to compile the package

The same happens to me, I try to compile directly using the onboard computer in the robot. The version is Ubuntu 14.04 and gcc is 4.8. How can I compile in this case?

So you need connect the onboard computer to the Internet, then update the gcc version to 5.0@hhn1n15


daemon: register container as late as possible

- What I did
Fixed races between create and list containers operations
- How I did it
Reordered code, so containers become visible to list lately
- How to verify it
Build docker with -race and run/remove a lot of containers
- A picture of a cute animal (not mandatory but encouraged)

LGTM

LGTM


S3AttachmentStoreMinioTests test cases run failed

Problems
When run ./gradlew :tests:test --tests="org.apache.openwhisk.core.database.s3.S3AttachmentStoreMinioTests",
it is failed, e.g.
org.apache.openwhisk.core.database.s3.S3AttachmentStoreMinioTests STANDARD_OUT
    test router? false
    Started minio on 33657
    Created bucket test-ow-travis

org.apache.openwhisk.core.database.s3.S3AttachmentStoreMinioTests > S3MinioArtifactStore attachments should generate different attachment name on update STANDARD_OUT
    [2019-08-20T09:44:49.513Z] [WARN] Detected possible incompatible versions on the classpath. Please note that a given Akka HTTP version MUST be the same across all modules of Akka HTTP that you are using, e.g. if you use [10.1.8] all other modules that are released together MUST be of the same version. Make sure you're using a compatible set of libraries. Possibly conflicting versions [10.1.8, 10.1.5] in libraries [akka-http-spray-json:10.1.8, akka-parsing:10.1.8, akka-http2-support:10.1.5, akka-http-testkit:10.1.8, akka-http-xml:10.1.8, akka-http:10.1.8, akka-http-core:10.1.8]
    [2019-08-20T00:44:45.946Z] [INFO] [#tid_sid_unknown] [WhiskConfig] reading properties from file /home1/irteamsu/.jenkins/workspace/lambda-pr-build/whisk.properties
    [2019-08-20T00:44:45.959Z] [DEBUG] [#tid_sid_unknown] [WhiskConfig] properties file set value for runtimes.manifest
    [2019-08-20T00:44:46.489Z] [INFO] [#tid_sid_testing] [SimpleExec] Running command: /usr/bin/docker run -d -e MINIO_ACCESS_KEY=TESTKEY -e MINIO_SECRET_KEY=TESTSECRET -p 33657:9000 minio/minio server /data
    [2019-08-20T00:44:47.700Z] [DEBUG] [#tid_sid_testing] [SimpleExec] Done running command: /usr/bin/docker run -d -e MINIO_ACCESS_KEY=TESTKEY -e MINIO_SECRET_KEY=TESTSECRET -p 33657:9000 minio/minio server /data
    [2019-08-20T00:44:48.702Z] [INFO] [#tid_sid_unknown] [S3AttachmentStore] Initializing S3AttachmentStore with bucket=[test-ow-travis], prefix=[whiskentity], signer=[None]
    [2019-08-20T00:44:48.805Z] [INFO] [#tid_sid_unknown] [MemoryArtifactStore] Created MemoryStore for [whisks]
    [2019-08-20T00:44:49.139Z] [INFO] [#tid_1] [WhiskAction] write initiated on new cache entry
    [2019-08-20T00:44:49.258Z] [INFO] [#tid_1] [S3AttachmentStore] [ATT_PUT] uploading attachment '11a46f13-8c96-44f0-a46f-138c9624f0a6' of document 'id: null_ns_IGPeg/attachment_unique' [marker:database_saveDocumentAttachment_start:583]
    [2019-08-20T00:44:50.136Z] [ERROR] [#tid_1] [StoreUtils] [ATT_PUT] 'whiskentity' internal error, name: '11a46f13-8c96-44f0-a46f-138c9624f0a6', doc: 'null_ns_IGPeg/attachment_unique', failure: 'One or more of the specified parts could not be found.  The part may not have been uploaded, or the specified entity tag may not match the part's entity tag.' [S3Exception] [marker:database_saveDocumentAttachment_error:1462:828]
    [2019-08-20T00:44:50.138Z] [INFO] [#tid_1] [WhiskAction] invalidating CacheKey(null_ns_IGPeg/attachment_unique)

org.apache.openwhisk.core.database.s3.S3AttachmentStoreMinioTests > S3MinioArtifactStore attachments should generate different attachment name on update FAILED
    org.scalatest.exceptions.TestFailedException: The future returned an exception of type: akka.stream.alpakka.s3.S3Exception, with message: One or more of the specified parts could not be found.  The part may not have been uploaded, or the specified entity tag may not match the part's entity tag..
        at org.scalatest.concurrent.Futures$FutureConcept.tryTryAgain$1(Futures.scala:531)
...
Caused by:
        akka.stream.alpakka.s3.S3Exception: One or more of the specified parts could not be found.  The part may not have been uploaded, or the specified entity tag may not match the part's entity tag. (Code: InvalidPart, RequestID: , HostID: )

It is strang that last week, i ran the test cases, it was successful, and i didn't change anything for the build machine and the codes.
I run it on the other machines, it is successful, it seems it happened on the build machine.
Regarding the build machine, when i am trying to find the reason, i did below things on the build machine,

reboot the machine, ran test again,  tests showed same errors
reinstall docker, ran test again,  tests showed same errors
ran minio locally(without docker), tests showed same errors
ran minio on an another host(using docker), all tests were passed

Does someone meet the strange problem? or any idea for this?
Obviously，this problem has no relation with the codes, just have relation with our environment only,
I keep the issues here two days only, two days later, i will close it.

And i also restart the container for above test case created
3f6ddf51ac1d        minio/minio         "/usr/bin/docker-ent…"   25 minutes ago      Up 55 seconds  <IP_ADDRESS>:33657->9000/tcp   stoic_sammet

The port can be accessed successfully
[xxx@xxx]$ telnet localhost 33657
Trying <IP_ADDRESS>...
Connected to localhost.localdomain (<IP_ADDRESS>).
Escape character is '^]'.

Based on error message looks like an error on minio side

Can you check the minio version on the build machine? May be its using some old cached copy which may have some bug. Otherwise get the logs from minio docker container to see if it provides some clue

@chetanmeh ,thanks for your reply.
you mean the minio docker image? i compared, all machines's minio docker image is same.
# docker images|grep minio/minio
minio/minio                               latest                 77a8467ccda1        6 days ago          63.5MB

And regarding get docker logs from container, it is same also.
Endpoint:  http://<IP_ADDRESS>:9000  http://<IP_ADDRESS>:9000

Browser Access:
   http://<IP_ADDRESS>:9000  http://<IP_ADDRESS>:9000

Object API (Amazon S3 compatible):
   Go:         https://docs.min.io/docs/golang-client-quickstart-guide
   Java:       https://docs.min.io/docs/java-client-quickstart-guide
   Python:     https://docs.min.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
   .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide
Exiting on signal: TERMINATED

Nothing obvious here. Per error message it means that in PUT object flow one of the request is being missed by Minio. A typical put is a 3 step process involving preparing put, upload chunks and then stitch.
From error message it means that one of the first 2 request was missed. May be enable proxy mode and see what request are being sent
whisk {
  s3 {
    alpakka {
      forward-proxy {
        host = "proxy-host"
        port = 8080
        credentials {
          username = "username"
          password = "password"
        }
      }
    }
  }
}

And use something like Charles Proxy to see the requests made. May be that may provide some clue

@chetanmeh , there has three requests, the first and the second is successful, the third is failed, detail as below
The first request
POST /test-ow-travis/whiskentity/null_ns_orh8m/attachment_unique/28889a7d-d619-4298-889a-7dd619f29874?uploads HTTP/1.1
Cache-Control: max-age=31536000
x-amz-acl: private
Host: localhost:9000
x-amz-date: 20190821T064815Z
x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Authorization: AWS4-HMAC-SHA256 Credential=TESTKEY/20190821/us-west-2/s3/aws4_request, SignedHeaders=cache-control;host;x-amz-acl;x-amz-content-sha256;x-amz-date, Signature=d63a4ecc52a20f007d8606d523e514ec0272e11e66cf3f287c025d232e5c608c
User-Agent: akka-http/10.1.8
Content-Type: application/octet-stream
Content-Length: 0

HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 329
Content-Security-Policy: block-all-mixed-content
Content-Type: application/xml
Server: MinIO/RELEASE.2019-08-14T20-37-41Z
Vary: Origin
X-Amz-Request-Id: 15BCDD4DA1629191
X-Xss-Protection: 1; mode=block
Date: Wed, 21 Aug 2019 06:48:15 GMT

<?xml version="1.0" encoding="UTF-8"?>
<InitiateMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Bucket>test-ow-travis</Bucket><Key>whiskentity/null_ns_orh8m/attachment_unique/28889a7d-d619-4298-889a-7dd619f29874</Key><UploadId>94febcc3-e216-44e3-b8de-5e0dad49e815</UploadId></InitiateMultipartUploadResult>

The second request
PUT /test-ow-travis/whiskentity/null_ns_orh8m/attachment_unique/28889a7d-d619-4298-889a-7dd619f29874?partNumber=1&uploadId=94febcc3-e216-44e3-b8de-5e0dad49e815 HTTP/1.1
Host: localhost:9000
x-amz-date: 20190821T064816Z
x-amz-content-sha256: d8b3b74e29a59168a9ac7d2a3d633fc9615e892a77dd8f3b92929839f7eda881
Authorization: AWS4-HMAC-SHA256 Credential=TESTKEY/20190821/us-west-2/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=2948b6902b49769692d02b3e79682ceb8668738d91445e3488cd94a91af7ab95
User-Agent: akka-http/10.1.8
Content-Type: application/octet-stream
Content-Length: 32768

......

HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 0
Content-Security-Policy: block-all-mixed-content
ETag: "f4db0fb4229cffe0beaac21972d3184d-1"
Server: MinIO/RELEASE.2019-08-14T20-37-41Z
Vary: Origin
X-Amz-Request-Id: 15BCDD4DA81EBADA
X-Xss-Protection: 1; mode=block
Date: Wed, 21 Aug 2019 06:48:16 GMT

The third request
POST /test-ow-travis/whiskentity/null_ns_orh8m/attachment_unique/28889a7d-d619-4298-889a-7dd619f29874?uploadId=94febcc3-e216-44e3-b8de-5e0dad49e815 HTTP/1.1
Host: localhost:9000
x-amz-date: 20190821T064816Z
x-amz-content-sha256: df7e157012446d5d02b02d9d3861f9e4d9a57ca48592279aa0d1af91c9bd28d7
Authorization: AWS4-HMAC-SHA256 Credential=TESTKEY/20190821/us-west-2/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=8610649b12cf0e38264488e5e77bb77fc3335f432cb2a28313f5e96f2a6772bd
User-Agent: akka-http/10.1.8
Content-Type: text/xml; charset=UTF-8
Content-Length: 189

<CompleteMultipartUpload>
                    <Part><PartNumber>1</PartNumber><ETag>"f4db0fb4229cffe0beaac21972d3184d-1"</ETag></Part>
                  </CompleteMultipartUpload>HTTP/1.1 400 Bad Request
Accept-Ranges: bytes
Content-Length: 597
Content-Security-Policy: block-all-mixed-content
Content-Type: application/xml
Server: MinIO/RELEASE.2019-08-14T20-37-41Z
Vary: Origin
X-Amz-Request-Id: 15BCDD4DABCF2E0D
X-Xss-Protection: 1; mode=block
Date: Wed, 21 Aug 2019 06:48:16 GMT

<?xml version="1.0" encoding="UTF-8"?>
<Error>InvalidPart<Message>One or more of the specified parts could not be found.  The part may not have been uploaded, or the specified entity tag may not match the part's entity tag.</Message><Key>whiskentity/null_ns_orh8m/attachment_unique/28889a7d-d619-4298-889a-7dd619f29874</Key><BucketName>test-ow-travis</BucketName><Resource>/test-ow-travis/whiskentity/null_ns_orh8m/attachment_unique/28889a7d-d619-4298-889a-7dd619f29874</Resource><RequestId>15BCDD4DABCF2E0D</RequestId><HostId>3eb06888-9120-4a99-b70d-c6af74122c33</HostId></Error>

Have any idea about the thrid request why failed?

Not sure here on the root cause. I tried at my end and the request and response are similar with 3rd request passing. Looks like some issue with Minio then.


New: BaseBuilder. Added methods that implement UNION.

Description
Methods generate SQL queries using UNION [ALL]

BaseBuilder::union()
BaseBuilder::unionAll()
The orderBy() and limit() methods called after the union() / unionAll() method will be applied to the final result.

$builder = $db->table('movies');

$builder->select('title, year')
    ->unionAll(function (BaseBuilder $builder) {
        return $builder->select('title, year')->from('top_movies');
    })
    ->orderBy('title', 'DESC')
    ->get();

// SELECT title, year FROM movies UNION ALL SELECT title, year FROM top_movies ORDER BY title DESC

Checklist:

[x] Securely signed commits
[x] Component(s) with PHPdocs
[x] Unit testing, with >80% coverage
[x] User guide updated
[x] Conforms to style guide

@MGatner @michalsn @paulbalandan review request

Anyone with deeper database experience want to take a look? @michalsn ?

Nice feature. It looks good to me. I only have some small doubts about the syntax.
What I mean is that using select() with limit() and order() before union()/unionAll() call. The thing is that the order of the used methods was never relevant to the Query Builder and now it becomes relevant.
Ideally, I would say that union queries should be built exclusively via closures but I think it might be not easy to implement.
To be more concrete, I would like to replace this:
$builder = $this->db->table('movies');
$builder->select('title, year')
	->orderBy('title')
	->unionAll(function (BaseBuilder $builder) {
		return $builder->select('title, year')
			->from('top_movies')
			->orderBy('title');
	});

with something like this:
$builder = $this->db->table('movies');
$builder
	->unionAll(function (BaseBuilder $builder) {
		return $builder->select('title, year')
			->orderBy('title');
	})
	->unionAll(function (BaseBuilder $builder) {
		return $builder->select('title, year')
			->from('top_movies')
			->orderBy('title');
	});

But I'm pretty sure it won't be that easy to implement... Anyway, it's just my first impression. If others think that there are no issues with the proposed syntax then I'm good with it too.

@michalsn Initially, there was a unionOrderBy () method to define the final result filter, but I abandoned it in favor of the classic use case with the call order condition.
There was another option
->unoin($closure [, $closure [, $closure....]])

But I decided that with this use the code would become unreadable.
Your version looks good, but there is one point. Some DBMSs support nested union queries.
(SELECT * FROM table UNION SELECT * FROM table) UNION SELECT * FROM table

For such a request, the code turns into closure-hell.
->unoin(function (BaseBuilder $builder) {
    return $builder->unoin(function (BaseBuilder $builder) {
        return $builder->select()->from();
    })->unoin(function (BaseBuilder $builder) {
        return $builder->select()->from();
    });
})->unoin(function (BaseBuilder $builder) {
    return $builder->select()->from();
});

At first glance, your version is not that difficult to implement.

One point worries me, but I still haven't found a good solution. Therefore, your opinion interests.
Escaping is required when combining the results of queries using ORDER BY or LIMIT.
#The code will throw an ORDER BY + UNION error
SELECT field, field2  FROM table ORDER BY field UNION SELECT field, field2 FROM table

#In MуSQL, you can wrap your query in parentheses
(SELECT field, field2 FROM table ORDER BY field) UNION SELECT * FROM table

But other DBMSs don't support this.
And the only option is to wrap it in a request with an alias.
SELECT * FROM (SELECT field, field2 FROM table ORDER BY field) as alias UNION SELECT field, field2 FROM table

In the current implementation, the wrapper looks like
SELECT * FROM (...query...) AS wrapper_alias

#example
SELECT * FROM (SELECT field, field2 FROM table ORDER BY field) as wrapper_alias
UNION SELECT * FROM (SELECT field, field2 FROM table ORDER BY field) as wrapper_alias

The code won't work without a wrapper. Dynamic aliases will prevent correct tests.

Your version looks good, but there is one point. Some DBMSs support nested union queries.
For such a request, the code turns into closure-hell.

Yes, nested union calls have the potential to become messy but this potential is valid probably for every discussed implementation - there are no huge differences to me.
I'm not saying we have to go with my proposal, but whatever we decide will gonna stay with us for some time, so I would like to hear some more opinions about it from others @MGatner @paulbalandan @samsonasik @kenjis

The code won't work without a wrapper. Dynamic aliases will prevent correct tests.

Up to my knowledge, you have chosen the best way to handle it across many databases. Is there is a scenario where we would need unique aliases names? If so, why not add a simple counter, like wrapper_alias_1, wrapper_alias_2? This should be manageable on the test side.

Up to my knowledge, you have chosen the best way to handle it across many databases. Is there is a scenario where we would need unique aliases names? If so, why not add a simple counter, like wrapper_alias_1, wrapper_alias_2? This should be manageable on the test side.

I cannot yet imagine such a scenario with unique aliases.

The thing is that the order of the used methods was never relevant to the Query Builder and now it becomes relevant.

This is very big change. I don't think this is a good change.

(SELECT * FROM table UNION SELECT * FROM table) UNION SELECT * FROM table

Because of the complexity of the SQL, it seems inevitable that the code will be complicated to some extent.
Is this hell?
$builder->unoin(
        function (BaseBuilder $builder) {
            return $builder->union(
                function (BaseBuilder $builder) {
                    return $builder->select()->from();
                }
            )
            ->unoin(
                function (BaseBuilder $builder) {
                    return $builder->select()->from();
                }
            );
        }
    )
    ->unoin(
        function (BaseBuilder $builder) {
            return $builder->select()->from();
        }
    );

I found another interface example:
$result = $this->db
    ->union_start()
        ->select("'XX' AS country_code, '-- Not specified --' AS country_name")
    ->union_end()
    ->union_start()
        ->select("country_code, country_name")
        ->from('countries')
        ->where_in('country_code', array('US'))
        ->order_by('country_name', 'asc')
    ->union_end()
    ->union_start()
        ->select("country_code, country_name")
        ->from('countries')
        ->where_not_in('country_code', array('US'))
        ->order_by('country_name', 'asc')
    ->union_end()
    // For other cases: A place for clauses that affect the whole result: ORDER BY, LIMIT, etc.
    ->get()
    ->result_array();

https://forum.codeigniter.com/thread-68239-post-344270.html#pid344270

CakePHP
$inReview = $articles->find()
    ->where(['need_review' => true]);

$unpublished = $articles->find()
    ->where(['published' => false]);

$unpublished->union($inReview);

https://book.cakephp.org/4/en/orm/query-builder.html#unions
Laravel
$first = DB::table('users')
            ->whereNull('first_name');

$users = DB::table('users')
            ->whereNull('last_name')
            ->union($first)
            ->get();

https://laravel.com/docs/8.x/queries#unions
Yii
$query1 = (new \yii\db\Query())
    ->select("id, category_id AS type, name")
    ->from('post')
    ->limit(10);

$query2 = (new \yii\db\Query())
    ->select('id, type, name')
    ->from('user')
    ->limit(10);

$query1->union($query2);

https://www.yiiframework.com/doc/guide/2.0/en/db-query-builder#union

@lonnieezell says

And everyone seems to forget you can always bypass the query builder and simply use query() with query bindings to keep it safe. Simplifies things for everyone. Smile
https://forum.codeigniter.com/thread-68239-post-344274.html#pid344274

$result = $this->db
    ->union_start()
        ->select("'XX' AS country_code, '-- Not specified --' AS country_name")
    ->union_end()

This is only a concept, not an implementation.
I could be wrong, but CakePHP doesn't solve the issue with orderBy and limit. Only with a construction like epilog() to put something at the end of the query.
In Laravel and Yii it is possible to get a QueryBuilder instance without binding to a table.
And the issue with orderBy and limit of the final result is solved through a similar construction
$newBuilderInstance->from($uninoQueryes)->order()->limit();

There is no such tool in CI now.
And to implement it in the current PR is a little contradicting 1 PR = 1 feature
At the moment I have already prepared the implementation via
$builder->union()->union()->orderBy()->limit();

But I'm waiting for the community's opinion on the final concept.

Can we do it this way?
$builder1 = $db->table('top_movies');
$builder1->select('title, year')->orderBy('title', 'DESC');

$builder2 = $db->table('movies');
$builder2->select('title, year')->unionAll($builder1)->get();

// SELECT title, year FROM movies UNION ALL SELECT title, year FROM top_movies ORDER BY title DESC

@kenjis I don't think it would solve a problem with orderBy and limit. We may want to add these to the movies table part or to the final query. So again the order of these methods would matter and we're trying to avoid it.
@iRedds Instantiating the QueryBuilder without binding to a table would be a nice feature. It probably would have to be implemented first, but it's still an option. We should wait and see the feedback.


ImageIO_GIF_Data Memory Leak

I'm seeing about 30mb of memory that is not being released under the category VM: ImageIO_GIF_Data.
Even after deleting the gif the memory remains allocated.
Any advice?
Thank you for your time

After further investigation, I've came to the conclusion that this memory leak has to do with how the gif is being shown (in a webview)


How to change agents on Heroku?

Hi, I'm running Huginn on Heroku. I want to extract text from a pdf-file. Looking at the documentation of Hypdf I found the syntax for extracting pdf quite simular to extract pdf-info. So I changed the pdf_info_agent-file in app/models/agents and in spec/models/agents, replacing pdfinfo with pdftotext. I did a restart of Huginn. But when I run the agent, it still gives me the pdf-meta (this works perfect), but no extracted text, so my changes seem to be totally ignored. Did I miss a command to tell Huginn/Heroku to obey the changes?

Closing since we haven't heard back.  Hope it's working for you!


Strange DKIM base64 record

Hello,
I try to add DKIM record to my DNS nameserver, and I my terminal, I can find the recommanded DNS record to add :
Please set required DNS entries at your DNS provider:
opendkim._domainkey.xxx.xxx.xxx. TXT "v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvuRHf/DlB1swo/W8ck27oE7Y1FJTGq4OdLvZKoGMM8ObEAkDDtdk4o/GBOTx/1twTAXwHL7Wj0srsI8XUg5a6hZ3b6/eIQ3Ejisnqg3O3sGL8+lKbH2zGlgpuqJE8fMgp2ICi8ObQmt7g/DZTnNl4dmri6h9CCxKmjMjD/ap+eR/jbRhbZglSE2W/xg4FStYGZa" "W6qciisFmfNtL8wcLrlIfHUIbizd7WHj/cWwb5gyyMBxpaea5IJYXxYaTOqgGJDo85lRNmRaYTAliNSa8VUHkJa5XuAd9JPNAlD+++gnZeCvYTn+DdW6tEsEFcG/GD6q5rxzmoEaVHKuQXSM/xwIDAQAB;s=email;t=s"

There are two quotes and a space inside the base64? It is normal?
Actually my DNS provider doesn't want me to add this record as it is.
I tried to remove the quote and the space, but I don't know if it is a working DKIM record.
Thank you, amazing piece of software!

On Mon, Dec 23, 2024 at 06:01 -0800, hugo-akaora wrote:

I try to add DKIM record to my DNS nameserver, and I my terminal, I can find the recommanded DNS record to add :
Please set required DNS entries at your DNS provider:
opendkim._domainkey.xxx.xxx.xxx. TXT "v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvuRHf/DlB1swo/W8ck27oE7Y1FJTGq4OdLvZKoGMM8ObEAkDDtdk4o/GBOTx/1twTAXwHL7Wj0srsI8XUg5a6hZ3b6/eIQ3Ejisnqg3O3sGL8+lKbH2zGlgpuqJE8fMgp2ICi8ObQmt7g/DZTnNl4dmri6h9CCxKmjMjD/ap+eR/jbRhbZglSE2W/xg4FStYGZa" "W6qciisFmfNtL8wcLrlIfHUIbizd7WHj/cWwb5gyyMBxpaea5IJYXxYaTOqgGJDo85lRNmRaYTAliNSa8VUHkJa5XuAd9JPNAlD+++gnZeCvYTn+DdW6tEsEFcG/GD6q5rxzmoEaVHKuQXSM/xwIDAQAB;s=email;t=s"

There are two quotes and a space inside it? It is normal?
Actually my DNS provider doesn't want me to add this record as it is.

It's "zonefile format".

I tried to remove the quote and the space, but I don't know if it is a working DKIM record.

Can you exchange messages with any other chatmail server on https://delta.chat/chatmail ?
They all check for correct DKIM signatures and shoulid respond with a failure if your
domain signs wrongly.

TXT records have length limitation of 255 characters per string but can contain multiple that will be concatenated together. Details should be in RFC 4408


Fix introspection and apply formatting fixes

Closes #45

Looks like it's just failing because of Ameba issues that were there before I made any changes

Looks good, thanks. The Ameba problems seem to be fixed in the master version, if you don't mind, could you try adding branch: master to the shard.yml?

@jgillich you mean the master branch for ameba?

Yes.

Doesn't seem to fix the problems for me since most are not_nil! issues, but I'll do it and push anyway

I'd do it myself but my devcontainer doesn't want to start right now and I'm not sure why 🤔

Looks like we're good!

Thanks


[question] what is the purpose of ViewManagerDelegate

When migrating a component to Fabric, there is a step documented here https://reactnative.dev/docs/next/the-new-architecture/pillars-fabric-components#centeredtextmanagerjava which adds the following
    private final ViewManagerDelegate<CenteredText> mDelegate;

    public CenteredTextManager(ReactApplicationContext context) {
        mDelegate = new RTNCenteredTextManagerDelegate<>(this);
    }

    @Nullable
    @Override
    protected ViewManagerDelegate<CenteredText> getDelegate() {
        return mDelegate;
    }

I'd like to know what the purpose of the delegate is. Is it mandatory? Implementing the RTNCenteredTextManagerInterface does not enforce the presence of  getDelegate() and I'm wondering what it's purpose is, because all the delegate does is that is ends up calling the methods on the ViewManager. Is it for imperative command dispatching?
I implemented a Fabric component without getDelegate() and it appears to work properly.
Thank you for the answer :)

Hi @vonovak
Can I ask you to ask again over here:
https://github.com/reactwg/react-native-new-architecture
We're trying to keep all the Q&A for New Architecture in the same place.
Please link your post here, and I'm happy to answer over there


Elixir 1.18.1 upgrade breaking Patch?

I have code that is no longer working after an upgrade to Elixir 1.18.1. The test is being invoked with:
 mix test --no-start /path/to/file.exs

defmodule SubscriptionActivityTest do
  use ExUnit.Case
  use Patch
  alias Amplify.Repo

    test "some test case" do
      patch Repo, :insert!, :ok
      patch Repo, :one, nil
      SubscriptionActivity.add_order_activities("subscription_id", "order_id")

      assert_called(
        Repo.insert!(%Amplify.Models.SubscriptionActivity{})
      )
    end
end

This used to work just fine but now is giving:
** (RuntimeError) could not lookup Ecto repo Amplify.Repo because it was not started or it does not exist
The error happens when Repo.one/1is being called in the SubscriptionActivity module.

Nevermind. This was something entirely else. Please ignore.


Issue on the website

Expected Behavior
Opening of the editor in the app (on the website)
Actual Behavior
When clicking the "Open workspace" button, the only thing that happen is that it changes the icon
Reproduction Steps

In the application website (after opening it in a web browser on an Android), click the "Open workspace" button

See changing only of the icon and none future actions

Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
n/a
What operating system are you using?
Other (specify below)
Operating System Version
Android 13
Installation method
n/a - opened thru web browser
Last Known Working Insomnia version
No response

@pavkout

@mdziczkowski @subnetmarco Let me check it!

@mdziczkowski Since we do not support the use of the application on mobile and tablet devices, we have removed this button to these devices. Thank you for reporting this issue.

Would it be possible that in next releases could be created support for mobile devices?
I ask because some people for different reasons may be limited to using mobile devices and may not have desktop access


Add document explaining new versioning policy that is based on semantic versioning

@ocadaruma I updated the doc and build configuration based on our discussion.
In new flow, we will stop bumping upcoming release version and document versions.
Instead, each PRs are marked with labels and the release handler will take care of bumping version properly.


Optional SAX Parser for Sitemaps

Provide a SAX-based parser for sitemaps, fixes #116

use SiteMapParser sitemapParser = new SiteMapParserSAX(strict, allowPartialParse);

This looks like a really nice piece of code @sebastian-nagel
Apart from some inconsistencies in the formatting of Javadoc, all I can see if that some new tests you've introduced are annotated as @ Ignore. Was that still intentional.
Nice work.

Thanks, the Javadoc is now formatted.
Yes, the ignored tests are intentional: I've kept both parsers and the tests as similar as possible to compare them side by the side. That was also on the premise that the SAX-based parser will replace the DOM-based parser: move the class and test files, fix the class name, done. If we want to keep the DOM-based parser forever, we probably should avoid the duplicated code and also make the tests generic, so that we can run it with both parsers.

ack

thanks @sebastian-nagel. Could you please squash the commits? I think we're good to go after that.

Commits until and including the merge commit (merge matt-deboer-master) are squashed.

Thanks!


Update dependencies

Coverage remained the same at 91.563% when pulling e7020475cf67c94ec6305a4aad72ece27675f45e on rel_branch into 257cf4d819346c53dc54e46d1d69f83dfa93d01d on master.


[iOS Web] EditableText's cursor position jumps to 0 after each custom keyboard input, resulting in different behavior on different platforms

Update (May 8th): Edited to remove references to TextField which depends on EditableText and focusing this bug just on on just normal input. See #103086 for the issue where the cursor loses its position after manually changing the cursor location.
Issue description (edited for clarity on May 8th)
I am building a custom keyboard for my Flutter web application and have found the EditableText input field (and by extension TextField input field) will reset the cursor position to zero after every key press on iOS web browsers (both Chrome and Safari) when the readOnly property of the EditableText field is set to TRUE. My application requires 'readOnly = true' to prevent unauthorized text from being entered in the input box.
Video of the issue comparing behavior on iOS Safari, OSX Safari, and OSX Chrome:

Newly added characters always inserted at cursor position 0 instead of the end (link)

Source on GitHub
Steps to Reproduce the error and Actual results

Run the code (linked above and reproduced below) on a web server. The code has the EditableText's readOnly set to TRUE.

Access the web server using either:
a. An iOS device (iPhone or iPad) running mobile Safari or mobile Chrome
b. The iOS simulator using the Safari browser built into the simulator

(Issue) Use the 'A', 'B', and spacebar buttons to enter text into the EditableText field. The new text and cursor will always appear at cursor position 0 (appearing before previously entered text). For example, entering 'ABAB' would appear as 'BABA' in the EditableText field because each new character gets placed at cursor position 0. (video)

Set the EditableText field's readOnly property to FALSE (for convenience, the code uses a toggle switch to change the value). Now when text is entered, behaves "normally" with each new character added after the cursor and the cursor does not jump to position 0 when each character is entered.

Expected results
For both readOnly = true and readOnly = false, text entered using the custom keyboard behaves as expected - each new character is added after the cursor and the cursor does not jump to position 0 after each character is entered. Therefore, entering 'ABAB' will appear as 'ABAB' in the EditableText.
The expected behavior is what is observed on desktop browsers (Windows/OSX Chrome and Safari), Android Chrome web browser, iOS native app (simulated). Android native app was not tested.

Code sample
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: KeyboardDemo(),
    );
  }
}

class KeyboardDemo extends StatefulWidget {
  @override
  _KeyboardDemoState createState() => _KeyboardDemoState();
}

class _KeyboardDemoState extends State<KeyboardDemo> {
  TextEditingController _controller = TextEditingController();
  late FocusNode _focusNode;

  bool _readOnly = true;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: false,
      body: Container(
        padding: EdgeInsets.all(8),
        child: Column(
          children: [
            SizedBox(height: 50),
            Container(
              height: 50,
              decoration: BoxDecoration(
                border: Border.all(
                  width: 1,
                  color: Colors.grey,
                ),
                borderRadius: BorderRadius.circular(3),
              ),
              child: EditableText(
                controller: _controller,
                focusNode: _focusNode,
                style: TextStyle(
                  fontSize: 24,
                  color: Colors.black,
                ),
                cursorColor: Colors.black,
                backgroundCursorColor: Colors.grey,
                autocorrect: false,
                autofocus: true,
                showCursor: true,
                readOnly: _readOnly,
                toolbarOptions: const ToolbarOptions(
                  copy: true,
                  cut: false,
                  paste: false,
                  selectAll: false,
                ),
              ),
            ),
            Row(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                Text('EditableText readOnly state: '),
                Switch(
                  value: _readOnly,
                  onChanged: (value) {
                    setState(() {
                      _readOnly = value;
                    });
                  },
                ),
              ],
            ),
            CustomKeyboard(
              onTextInput: (myText) {
                _insertText(myText);
              },
            ),
          ],
        ),
      ),
    );
  }

  void _insertText(String myText) {
    final text = _controller.text;
    final textSelection = _controller.selection;
    final newText = text.replaceRange(
      textSelection.start,
      textSelection.end,
      myText,
    );
    final myTextLength = myText.length;
    _controller.text = newText;
    _controller.selection = textSelection.copyWith(
      baseOffset: textSelection.start + myTextLength,
      extentOffset: textSelection.start + myTextLength,
    );
  }

  @override
  void initState() {
    super.initState();
    _focusNode = FocusNode();
  }

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

class CustomKeyboard extends StatelessWidget {
  CustomKeyboard({
    Key? key,
    this.onTextInput,
  }) : super(key: key);

  final ValueSetter<String>? onTextInput;

  void _textInputHandler(String text) => onTextInput!.call(text);

  @override
  Widget build(BuildContext context) {
    return Container(
      height: 160,
      color: Colors.white,
      child: Column(
        children: [
          Expanded(
            child: Row(
              children: [
                TextKey(
                  text: 'A',
                  onTextInput: _textInputHandler,
                ),
                TextKey(
                  text: 'B',
                  onTextInput: _textInputHandler,
                ),
              ],
            ),
          ),
          Expanded(
            child: Row(
              children: [
                TextKey(
                  text: ' ',
                  onTextInput: _textInputHandler,
                ),
              ],
            ),
          ),
        ],
      ),
    );
  }
}

class TextKey extends StatelessWidget {
  const TextKey({
    Key? key,
    this.text,
    this.onTextInput,
    this.flex = 1,
  }) : super(key: key);

  final String? text;
  final ValueSetter<String>? onTextInput;
  final int flex;

  @override
  Widget build(BuildContext context) {
    return Expanded(
      flex: flex,
      child: Padding(
        padding: const EdgeInsets.all(1.0),
        child: Material(
          color: Colors.blue.shade100,
          child: InkWell(
            onTap: () {
              onTextInput?.call(text!);
            },
            child: Container(
              child: Center(child: Text(text!)),
            ),
          ),
        ),
      ),
    );
  }
}

Logs
```
Because this only happens in mobile web browsers, I do not know how to capture the logs since the iOS simulator's web browser isn't connected to debugger.
```

Analyzing bug_textfield_readonly...

   info • Use key in widget constructors • lib/main.dart:5:7 • use_key_in_widget_constructors
   info • Use key in widget constructors • lib/main.dart:14:7 • use_key_in_widget_constructors
   info • Private field could be final • lib/main.dart:20:25 • prefer_final_fields
   info • Prefer const with constant constructors • lib/main.dart:29:11 • prefer_const_constructors
   info • Prefer const with constant constructors • lib/main.dart:37:20 • prefer_const_constructors
   info • Prefer const with constant constructors • lib/main.dart:45:15 • prefer_const_constructors
   info • Prefer declaring const constructors on `@immutable` classes • lib/main.dart:90:3 • prefer_const_constructors_in_immutables
   info • Avoid unnecessary containers • lib/main.dart:160:20 • avoid_unnecessary_containers

[✓] Flutter (Channel stable, 2.10.5, on macOS 12.3.1 21E258 darwin-x64, locale en-US)
    • Flutter version 2.10.5 at <REDACTED>
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5464c5bac7 (2 weeks ago), 2022-04-18 09:55:37 -0700
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at <REDACTED>
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822)

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

[✓] Connected device (2 available)
    • iPhone 12 Pro (mobile) • <REDACTED> • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-4 (simulator)
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 100.0.4896.127

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Hi @the-ack, you seem to have combined several issues into one. We usually prefer that each bug report has its own issue so that it becomes easier to track. Kindly break apart the bugs into individual issues so that we can easily track them.
Thank you

Thanks @danagbemava-nc, I've split this bug into two new bugs so far to cover the text entry issues and added videos showing the issues. The new text entry issues are:

#103075 - TextField
#103086 - EditableText

I will file separate issues for the deleting text use cases. I'm noticing in my simulator, the cursor position is resetting to 0 when the TextField / EditableText widget loses focus on iOS web platforms (but not on the other platforms). I will extract the code into a simple widget to make something easy for someone to investigate.

Hi @the-ack, thanks for splitting the bugs. Please update the initial description of this issue to make it clear which bug this issue is supposed to be tracking.
Thank you

Hi @danagbemava-nc, I have updated the description of this bug to focus on only normal text entry. #103086 will be updated shortly to reflect repositioning the cursor of an EditableText field and resetting the cursor's position.

Hi @the-ack, it seems the issue with the text entry has been fixed on master. See the recordings below. Can you confirm if this is the case for you as well?

videos

stable
master

Thank you for sharing the videos @danagbemava-nc. It is exciting to see appears to be fixed on master.
I will setup my system to compile flutter from the master branch and test it myself. It will take me a couple of days to verify.
Thank you again for your help.

The beta and master channels appear to have fixed this issue for normal input so I think we can close it.

Provide additional demo video on latest stable, master and beta channel.  The issue is only reproducible on stable channel.
Note that on my side, the issue happens when clicking on anywhere on screen 8 times (look at demo video stable for detail).

Demo

Stable
Master
Beta

flutter doctor -v
[✓] Flutter (Channel stable, 2.10.5, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 2.10.5 at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5464c5bac7 (3 weeks ago), 2022-04-18 09:55:37 -0700
    • Engine revision 57d3bac3dd
    • Dart version 2.16.2
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] Android Studio
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/203.7185775/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (3 available)
    • Pixel 3a (mobile) • 964AY0WL20 • android-arm64  • Android 12 (API 32)
    • macOS (desktop)   • macos      • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)      • chrome     • web-javascript • Google Chrome 101.0.4951.54

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 2.13.0-0.0.pre.1005, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 2.13.0-0.0.pre.1005 at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 90a8b0561d (6 hours ago), 2022-05-09 15:23:50 -0700
    • Engine revision 8774c24f65
    • Dart version 2.18.0 (build 2.18.0-99.0.dev)
    • DevTools version 2.13.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[!] Android Studio
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/203.7185775/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (3 available)
    • Pixel 3a (mobile) • 964AY0WL20 • android-arm64  • Android 12 (API 32)
    • macOS (desktop)   • macos      • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)      • chrome     • web-javascript • Google Chrome 101.0.4951.54

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[✓] Flutter (Channel beta, 2.13.0-0.4.pre, on macOS 12.2.1 21D62 darwin-x64, locale en-VN)
    • Flutter version 2.13.0-0.4.pre at /Users/huynq/Documents/GitHub/flutter_beta
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 25caf1461b (5 days ago), 2022-05-05 14:23:09 -0700
    • Engine revision c5caf749fe
    • Dart version 2.17.0 (build 2.17.0-266.8.beta)
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] Android Studio
    • Android Studio at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-1/203.7185775/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

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

[✓] Connected device (3 available)
    • iPhone 13 (mobile) • 5F5D609C-3B0B-4C48-872C-961928157361 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-2 (simulator)
    • macOS (desktop)    • macos                                • darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 101.0.4951.54

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

The beta and master channels appear to have fixed this issue for normal input so I think we can close it.

Base on your comment, I'm going to close this issue.


Add Home Page, About Page, and Get Started Page to this Next.js Site

Add Home Page, About Page, and Get Started Page to Next.js Site
Description:
We need to enhance the Custom-Theme-Generator website by adding the following pages:

Home Page:

A brief introduction to the website with an eye-catching hero section.
Highlight key features of the custom theme generator (e.g., easy customization, live previews, etc.).
Include a call-to-action (CTA) button linking to the Get Started page.

About Page:

Explain the purpose of the Custom Theme Generator website.
Describe how users can benefit from using this tool (e.g., creating personalized themes effortlessly).
Include information about the team or contributors (optional).

Get Started Page:

Provide a guide on how users can start building their custom themes.
Include screenshots or visuals to make the steps clearer.
Link to any documentation or instructions on how to use the theme generator.

Tasks:

[ ] Design the layout for the Home Page.
[ ] Implement the About Page content and layout.
[ ] Create the Get Started Page with detailed instructions.
[ ] Ensure navigation links are added to the header for easy access to these pages.
[ ] Add appropriate metadata for SEO and improve user experience.
[ ] Ensure responsive design for all new pages.

Tech Stack:

Next.js, TailwindCSS

Priority: Medium
Please comment on this issue if you'd like to work on any of these tasks or if you have any questions or suggestions.
#hacktoberfest

Do i make all this in one PR or I can break it up into two ?


Avoid wmi cmdlet rule documentation

looks good

Can you add "wrong" and "correct" tag before the examples? Just to make it consistent with other documentations :)

Added more details to the example

I made a small change to the documentation (added quotes for inline code).
Otherwise, I sign off.


Allow select * in aggregate if all columns are also in group by

This used to work. Did it break recently?

Yes, the row type work broke it. I will fix the commit message to be
Fix SELECT table.* with aggregate

First two commits look good

@martint reviewed the 'Remove columnReferences from ExpressionAnalyzer and Analysis' commit and confirmed that it is okay now.


select timeout error

I'm currently running two lepton 3.5 cameras using two purethermal mini boards. I use opencv for continuous streaming of images.  One of the boards runs continuously without any errors (tested for 2hrs). The other board gives 'select timeout' error after an hour (As i have tested multiple times the duration for which it runs without problems varies). As I could understand this timeout error occurs when there is no data send from the usb video device. I have also replaced the lepton camera on this purethermal mini and still the issue persists. Any help would be much appreciated.
tested on
Raspberry Pi 3b+ (Debian stretch, OpenCV 3)
Regards
Ajal

Hi @ajal-fh
I've encounter the same problem. did you find any solution ?
Thanks!

Hi @ajal-fh
I've encounter the same problem. did you find any solution ?
Thanks!

I'm sorry I couldn't resolve the issue.

Same here with Opencv 3 C++ and Python3.6.
Ubuntu 16.04 with Intel I7 NUC

I'm also facing same issue on Ubuntu 20.04, intel i7.
The system detected the Lepton camera(Lepton 1.6) correctly, but cannot access the camera view.
I tried in python. Anybody find the solution?

Hey guys,
I think this has something to do with the uvcvideo settings in the linux kernel. May you have a look here and maybe report your findings?
https://github.com/groupgets/purethermal1-uvc-capture/issues/44
BR
Sebastian

Hey guys,
I think this has something to do with the uvcvideo settings in the linux kernel. May you have a look here and maybe report your findings?
https://github.com/groupgets/purethermal1-uvc-capture/issues/44
BR
Sebastian


what is the format of model when using save

Can it possbile to give the doc about the format of model when using save function?
How can I define the self-model,just only using fwrite ,and read-model using fread?

I'm not sure if it answers your question, but here is some documentation on the GraphDef fileformat we use to save models:
https://www.tensorflow.org/versions/master/how_tos/tool_developers/index.html


chore(docs): re-arrange Jets object docs into sections

Summary
Came up in #5171. I've just rearranged, fixed some dead and missing links in the "methods" section, and added the headers.

Test plan
Check out the netlify deploy

This is unexpected:

This is unexpected:

Good catch! Fixed

Idea for next adjustments: hide TOC when the right column is available, as there's lots of content duplication :)

Hmm, might just remove it. People can find the ToC on mobile as well, right?

 I'm cool with killing it then :)


Reaching points

Pull Request Template
What have you Changed(must)
Write here what you have changed in the codebase
Issue no.(must) - 223
Pr will be close and marked as spam. If issue number not found or issue was assigned to someone else.
Marking as spam can block your account from HacktoberFest.
Self Check(Tick After Making pull Request)

[ ] This issue was assigned to me if not it will be marked as spam.
[ ] My file is in the proper folder
[ ] I am following clean code and Documentation.
[ ] I have added the title and what program will do first in the file
[ ] I have named the file as (Problem #). (Problem Title(in Camel Case)).(extension)
ex. 2. AddToNumbers.py

README - How to Contribute

This PR is with respect to the following issue : https://github.com/SHY-Corp/LeetCode-Solutions/issues/223


Broken with Ember 1.10.0

This package does not work with ember 1.10.0. It hangs on line 20 in /addon/helpers/ivy-sortable.js:
return Ember.Handlebars.helpers.collection.call(ctx, 'ivy-sortable', options);
It seems this has to do with the new use of HTMLBars. I am not quite familiar enough (yet) with the internals of ivy sortable and how it works with the CollectionView to fix it. From what I can tell,  the colleciton helper needs to be called similar to this, now:
return Ember.Handlebars.helpers.collection.helperFunction( ['ivy-sortable'], options.hash, options, {data:options.data});
But, not quite like that because it doesn't work. I'm not exactly sure how to give Ember.Handlebars.helpers.collection.helperFunction the data.view it is looking for. It seems that this is the wrong view that is being passed in.

Yep, due to some changes HTMLBars introduced, namely making the registerHelper function private, there's no officially supported way for me to register a helper like ivy-sortable. Fortunately the helper is just a thin wrapper around {{collection}}, which still works in Ember 1.10.
So the following:
{{#ivy-sortable things}}
  ...
{{/ivy-sortable}}

should be changed to:
{{#collection "ivy-sortable" content=things}}
  ...
{{/collection}}

Since the helper is relying on a (now private) API, I've decided to deprecate it in the latest beta release, 1.0.0-beta.3. Ideally at some point I'd like to change ivy-sortable from a CollectionView to a component, but I'm not sure if that's possible yet.
Does that work for you? I'm closing the issue for now, but feel free to comment if there's something about your use case I've missed. Thanks!