Expose $_fzf_search_vars_command in non-interactive sessions

This PR reverts 7baa9fe (#180).
Fix #183
Explanation of the issue
$_fzf_search_vars_command is not available in non-interactive sessions due to the commit above.
Therefore, if user puts fzf_configure_bindings in their config.fish, it  may be executed by other things using non-interactive sessions e.g. fzf preview window or tide, and the following line...
https://github.com/PatrickF1/fzf.fish/blob/17d54b576919ee77644779db2dcae56d372a8830/functions/fzf_configure_bindings.fish#L33
...essentially becomes:
test -n $key_sequences[5] && bind --mode $mode $key_sequences[5]

Which outputs bindings associated with $key_sequences[5] i.e. \cv. The message can either be  something like bind --preset \cv fish_clipboard_paste or bind: No binding found for sequence '\cv'.
What can we learn

Guard things that should only run in interactive sessions with status -i || exit in config.fish. Always remember this file will be read by the world.

Quoting myself from #179:

But I'm not a fan of calling fzf_configure_bindings twice either.

Hi, thanks for discovering the root of the bug! Very clever, I was kinda stuck.
Wouldn't it be better to just add status -i || exit in fzf_configure_bindings?

Yeah, fish doesn't even bind any of the preset bindings in non-interactive:
fish -c '
         echo testing non-interactive mode bindings
         bind --user
     '
testing non-interactive mode bindings

So I think it makes sense for it to just do nothing.

Ok I'm just going to go with adding status -i || exit to the configure_fzf_bindings rather than setting _fzf_search_vars_command even when in non-interactive. Reason being

configure_fzf_bindings doesn't need to run in non-interactive anyway
fish doesn't even bind any of the preset bindings in non-interactive
this is the most performance optimal: it reduces the amount of code executed in both conf.d/fzf.fish and configure_fzf_bindings when in non-interactive mode

Sorry for the delay! I was going to reply right after your last comment, but somehow it just got put off.

Wouldn't it be better to just add status -i || exit in fzf_configure_bindings?

Sure that seems reasonable.


Menu Suite Question?

Sorry if this has been asked.
What's the best practice when it comes to setup tables and showing data from an Extension?
Doesn't look like we can extend the Menu Suite at this time. What's the time frame for this?
Right now is seems that everything has to be launched from existing pages with actions.
Can anyone confirm this?

That is correct. We don't support MenuSuite at the moment.
The MenuSuite has it roots in the old classic C/SIDE UI and is not really suited for our current UI model. We are considering a new concept to replace the menusuite. We don't have a timeline for that.

I created an FAQ entry for it since the question came up a few times. Please refer to:
https://github.com/Microsoft/AL/wiki/Frequently-Asked-Questions


[Joy] Create a marketing page

There are 3 phases to complete this issue:

👉 Finalize the structure and contents of the page in the Notion page.
Figma Design
Design to code

@siriwatknp is this task is completed ?
if not then i want to work on it

@DIWAKARKASHYAP Thanks for asking! However, this issue is intended to be implemented by the core team. We keep it in GitHub just to help us keep track of the progress. So sorry for the confusion.


Device-display UIKitThreadAccessException warning

Following @craylward : https://github.com/xamarin/Essentials/issues/463

Thanks for the PR @Hammerhead73 - we'll review asap.

I actually think this is a bug for the library actually that needs to be looked at. I would not put this here, i would put it in "Platform Differences" for instance
I don't like showing an example of it because it isn't needed on other platforms and may break how people are using it.

@Hammerhead73 as explained above, since this is really an iOS-specific change (the tip mentions UIKit.UIKitThreadAccessException ), it would be better presented as platform-specific guidance.
If you'd like to propose a new PR, you could look at https://github.com/MicrosoftDocs/xamarin-docs/pull/930/files for an idea of how the Platform differences section is usually formatted.
Thanks!


Clarify API documentation around catalog fetch behavior

closes #1769
Signed-off-by: Richard Scothern<EMAIL_ADDRESS>

[Current coverage][cc-pull] is 54.63%

Merging [#1774][cc-pull] into [master][cc-base-branch] will decrease coverage by 6.99%

3 files (not in diff) in ...istry/storage/driver were modified. more

Misses +807
Partials -92
Hits -715

3 files (not in diff) in registry/storage were modified. more

Misses +4
Partials +2
Hits -6

2 files (not in diff) in registry/client were modified. more

Misses +6
Hits -6

2 files (not in diff) in registry were modified. more

Misses +3
Partials +1
Hits -4

@@             master      #1774   diff @@
==========================================
  Files           120        120
  Lines         10455      10455
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           6443       5712   -731
- Misses         3417       4237   +820
+ Partials        595        506    -89

[][cc-pull]

Powered by Codecov. Last updated by [2cbf54d...352924c][cc-compare]
[cc-base-branch]: https://codecov.io/gh/docker/distribution/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/docker/distribution/compare/2cbf54df6cc5f66f4ed9b5e5564ca356fc790f93...352924cd854d83024a71d42c7893bc873a156485
[cc-pull]: https://codecov.io/gh/docker/distribution/pull/1774?src=pr

LGTM


feat: Support OIDC authentication

Closes #50

@mraible , Would you like to test the Okta integration? I tested once with the developer account and seems good to me.

closes #496

Yes! I'll test this tomorrow morning.

I tried using the following JDL:
application {
  config {
    baseName blog,
    applicationType monolith
    authenticationType oauth2
    packageName com.jhipster.demo.blog
    prodDatabaseType mysql
    cacheProvider ehcache
    buildTool maven
    clientFramework svelte
    testFrameworks [protractor]
  }
  entities *
}

entity Blog {
  name String required minlength(3)
  handle String required minlength(2)
}

entity Post {
  title String required
  content TextBlob required
  date Instant required
}

entity Tag {
  name String required minlength(2)
}

relationship ManyToOne {
  Blog{user(login)} to User
  Post{blog(name)} to Blog
}

relationship ManyToMany {
  Post{tag(name)} to Tag{entry}
}

paginate Post, Tag with infinite-scroll

I copied this to a blog-oauth2.jdl file and ran:
jhipster --blueprints svelte jdl blog-oauth2.jdl

It fails:
Error running generator app: ReferenceError: /Users/mraible/dev/generator-jhipster/generators/server/templates/src/main/resources/config/application-dev.yml.ejs:357
    355|   cors:
    356|     # Allow Ionic for JHipster by default (* no longer allowed in Spring Boot 2.4+)
 >> 357|     allowed-origins: "http://localhost:8100,http://localhost:9000<%_ if (!skipClient) { _%>,http://localhost:<%= devServerPort %><%_ } _%>"
    358|     allowed-methods: "*"
    359|     allowed-headers: "*"
    360| <%_ if (authenticationType === 'session') { _%>

devServerPort is not defined
ReferenceError: /Users/mraible/dev/generator-jhipster/generators/server/templates/src/main/resources/config/application-dev.yml.ejs:357
    355|   cors:
    356|     # Allow Ionic for JHipster by default (* no longer allowed in Spring Boot 2.4+)
 >> 357|     allowed-origins: "http://localhost:8100,http://localhost:9000<%_ if (!skipClient) { _%>,http://localhost:<%= devServerPort %><%_ } _%>"
    358|     allowed-methods: "*"
    359|     allowed-headers: "*"
    360| <%_ if (authenticationType === 'session') { _%>

devServerPort is not defined
    at module.exports.eval (eval at compile (/Users/mraible/dev/generator-jhipster-svelte/node_modules/ejs/lib/ejs.js:662:12), <anonymous>:374:26)
    at application-dev.yml (/Users/mraible/dev/generator-jhipster-svelte/node_modules/ejs/lib/ejs.js:692:17)
    at /Users/mraible/dev/generator-jhipster-svelte/node_modules/ejs/lib/ejs.js:258:40
    at new Promise (<anonymous>)
    at tryHandleCache (/Users/mraible/dev/generator-jhipster-svelte/node_modules/ejs/lib/ejs.js:256:14)
    at Object.exports.renderFile (/Users/mraible/dev/generator-jhipster-svelte/node_modules/ejs/lib/ejs.js:489:10)
    at Object.renderContent (/Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/utils.js:286:23)
    at module.exports.template (/Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/generator-base-private.js:758:26)
    at /Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/generator-base.js:2222:47
    at Array.map (<anonymous>)
    at /Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/generator-base.js:2138:42
    at Array.map (<anonymous>)
    at /Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/generator-base.js:2135:29
    at Array.map (<anonymous>)
    at module.exports.writeFilesToDisk (/Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/generator-base.js:2134:45)
    at module.exports.writeFiles (/Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/server/files.js:1730:19) {
  path: '/Users/mraible/dev/generator-jhipster/generators/server/templates/src/main/resources/config/application-dev.yml.ejs'
}
ERROR! /Users/mraible/dev/generator-jhipster/generators/server/templates/src/main/resources/config/application-dev.yml.ejs:357
    355|   cors:
    356|     # Allow Ionic for JHipster by default (* no longer allowed in Spring Boot 2.4+)
 >> 357|     allowed-origins: "http://localhost:8100,http://localhost:9000<%_ if (!skipClient) { _%>,http://localhost:<%= devServerPort %><%_ } _%>"
    358|     allowed-methods: "*"
    359|     allowed-headers: "*"
    360| <%_ if (authenticationType === 'session') { _%>

devServerPort is not defined
ReferenceError: /Users/mraible/dev/generator-jhipster/generators/server/templates/src/main/resources/config/application-dev.yml.ejs:357
    355|   cors:
    356|     # Allow Ionic for JHipster by default (* no longer allowed in Spring Boot 2.4+)
 >> 357|     allowed-origins: "http://localhost:8100,http://localhost:9000<%_ if (!skipClient) { _%>,http://localhost:<%= devServerPort %><%_ } _%>"
    358|     allowed-methods: "*"
    359|     allowed-headers: "*"
    360| <%_ if (authenticationType === 'session') { _%>

devServerPort is not defined
    at module.exports.eval (eval at compile (/Users/mraible/dev/generator-jhipster-svelte/node_modules/ejs/lib/ejs.js:662:12), <anonymous>:374:26)
    at application-dev.yml (/Users/mraible/dev/generator-jhipster-svelte/node_modules/ejs/lib/ejs.js:692:17)
    at /Users/mraible/dev/generator-jhipster-svelte/node_modules/ejs/lib/ejs.js:258:40
    at new Promise (<anonymous>)
    at tryHandleCache (/Users/mraible/dev/generator-jhipster-svelte/node_modules/ejs/lib/ejs.js:256:14)
    at Object.exports.renderFile (/Users/mraible/dev/generator-jhipster-svelte/node_modules/ejs/lib/ejs.js:489:10)
    at Object.renderContent (/Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/utils.js:286:23)
    at module.exports.template (/Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/generator-base-private.js:758:26)
    at /Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/generator-base.js:2222:47
    at Array.map (<anonymous>)
    at /Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/generator-base.js:2138:42
    at Array.map (<anonymous>)
    at /Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/generator-base.js:2135:29
    at Array.map (<anonymous>)
    at module.exports.writeFilesToDisk (/Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/generator-base.js:2134:45)
    at module.exports.writeFiles (/Users/mraible/dev/generator-jhipster-svelte/node_modules/generator-jhipster/generators/server/files.js:1730:19) {
  path: '/Users/mraible/dev/generator-jhipster/generators/server/templates/src/main/resources/config/application-dev.yml.ejs'
}
Execution time: 12 s.

@mraible , Entity generator support is not yet included. For now, you can test with application JDL like used in CI tests - https://github.com/jhipster/generator-jhipster-svelte/blob/9dcff7587081da68fd112eaa85acd234a4258a52/.github/workflows/scripts/monolithic-oidc-maven-postgres-prod.jdl
Also, you can run with shipster import-jdl <jdl-file>.jdl to ensure the correct JHipster version is included

I tested with the following JDL and the shipster command you recommended:
application {
  config {
    baseName SampleBlogApp,
    applicationType monolith,
    authenticationType oauth2,
    packageName tech.jhipster.samples.blog,
    prodDatabaseType postgresql,
    cacheProvider caffeine,
    buildTool maven
    testFrameworks [cypress]
  }
}

It generates just fine and I can log in / logout with Keycloak as expected. If I try to run npm run e2e with Cypress, it fails.
><EMAIL_ADDRESS>e2e /Users/mraible/svelte-oidc
> cypress run

The plugins file is missing or invalid.

Your `pluginsFile` is set to `/Users/mraible/svelte-oidc/src/test/javascript/cypress/plugins/index.ts`, but either the file is missing, it contains a syntax error, or threw an error when required. The `pluginsFile` must be a `.js`, `.ts`, or `.coffee` file.

Or you might have renamed the extension of your `pluginsFile`. If that's the case, restart the test runner.

Please fix this, or set `pluginsFile` to `false` if a plugins file is not necessary for your project.

 Error: Cannot find module 'puppeteer'
Require stack:
- /Users/mraible/svelte-oidc/src/test/javascript/cypress/plugins/index.ts
- /Users/mraible/Library/Caches/Cypress/7.5.0/Cypress.app/Contents/Resources/app/packages/server/lib/plugins/child/run_plugins.js

I also tried integrating with Okta using okta apps create jhipster and sourcing the generated .okta.env file. This works too!
I like the support for a dark theme!

I am not sure on how you got /Users/mraible/svelte-oidc/src/test/javascript/cypress/plugins/index.ts as we don't generate tests under src/test/javascript, also there is no typescript support. Can you try removing testFrameworks [cypress] and generate (cypress tests are implicitly included and are not an option)

I removed testFrameworks from the JDL and npm run e2e now passes with Keycloak. It is kinda weird to not have Cypress open a browser so you can watch the tests. The main generator opens a browser.
I tried it with Okta too:
$ export CYPRESS_adminUsername=matt.raible
$ export CYPRESS_adminPassword=XXX
$ npm run e2e

80% of the tests fail:
  (Run Finished)

       Spec                                              Tests  Passing  Failing  Pending  Skipped
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✖  admin/logger.spec.js                     00:45        6        -        6        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  footer.spec.js                           340ms        1        1        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  home.spec.js                             00:06        3        2        1        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  navbar.spec.js                           00:08        9        5        2        -        2 │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✖  routes.spec.js                           00:05        3        2        1        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✖  4 of 5 failed (80%)                      01:06       22       10       10        -        2

For now, you can try cypress interactive runner with command npm run cy:open and then run one or all specs at once. For failed tests, you can open browser developer tools console window, click on failed assertion/step and see if you can get anything.
To differentiate between okta and keycloak, I have included a check on the redirect url to contain okta. Do you see that in your okta account?

Do you see that in your okta account?

What should I be looking for in my Okta account? The Okta CLI and its okta apps create jhipster command will add redirect URIs as follows:

login: http://localhost:8080/login/oauth2/code/oidc and http://localhost:8761/login/oauth2/code/oidc
logout: http://localhost:8080 and http://localhost:8761

I just tried again with a new generated app, changed spring security configurations to point to okta, updated cypress env variables, started app with dev profile, executed cypress tests and everything seems to work on my end.
If you run the cypress tests in interactive runner (with npm run cy:open), then, do you see response similar to below for tests under logger group? Also, do you have URL similar to highlighted text for your okta account?

If I run npm run cy:open and run the loggers test, it doesn't succeed for me.

Can you double check your okta credentials that you use in tests?

I did. They work to log in to the JHipster app in my browser.

Just in case I was exporting them wrong, I put them directly into cypress.json and I get the same result.
Did you do anything special to set up your Okta app? It usually just requires creating ROLE_ADMIN and ROLE_USER groups as well as adding a groups claim to the ID token.

As you can log in via UI, I don't suspect an issue with your okta setup.
Previously you mentioned to provide username as CYPRESS_adminUsername=matt.raible. Don't you require it to be<EMAIL_ADDRESS>If that also doesn't work, then, probably need to check API response to identify root cause.

Okta doesn't require anything after the @ for the username. I tried adding @okta.com to the admin username in cypress.json. The result is the same. I've tried the main generator's Cypress support (with Puppeteer) without @okta.com and it works.

Oh. I never tried that way. I just realized that you were able to authenticate successfully via api/v1/authn, so, that rules out the issue of wrong credentials.
Can you check response of the authorize API ? Use F12 to open browser tools and then click on the authorize url to view request/response details).  Here we programmatically create an authentication session and redirect back to the Spring security authentication callback url. Do you see something similar to below?

The 3rd request fails for me.

If I look in my system logs on Okta (Reports > System Log), it says there's an "authorization server mismatch". If I drill into the details, I'm not sure if it's trying to hit the default one or ausqggi8sWC6oHiJb5d6.

It does look like you're using the "org" server for the first request, rather than the default AS. The default AS should have an authorize URL that looks like https://dev-1309757.okta.com/oauth2/default/v1/authorize.
If you grab the issuer from http://localhost:8080/api/auth-info, that should be the correct one to use.

Yeah, I was using the org-level association. I have now changed the logic to respect the URL associated with setup (org or specific authorization server) and I believe we should be good now. Let me know if you still see an issue. Thanks

Good to hear. If you have any test credentials (that should pose a low risk even if got accidentally exposed), then, I can set up a CI test to ensure working of OKTA integration.

@pascalgrimaud, Bounty claimed https://opencollective.com/generator-jhipster/expenses/43817

@vishal423 : approved :)))


Issue/Bug: Aspect ratio problems / bug after changing a screen orientation causing a game breaking

Description of Problem or Question
I. The app is not suited for a vertical screen. The whole layout is destroyed. But it's not that big of a problem...
II. There is a major issue of the app which may prevent players from further playing their game if happens!
I have a 2-in-1 notebook with a rotatable screen but the issue is replicable on a normal screen (read Scenario section). By mistake, I rotated my screen so instead of horizontal aspect ratio 16:9 I had a vertical width of the screen. After coming back to the horizontal view, the screen was cut and there was no way to change phases or go to Menu to create a save and reload the whole app.
Valkyrie Version
2.15 (Windows 10 but presumably also other systems)
Scenario to replicate:
-Start any scenario,
-Rotate your screen:
a) if you have a rotatable screen, change the orientation,
b) if you don't and you have Windows 10, click CTRL + ALT + arrows to change the orientation,
c) if you don't and you don't have Windows 10, use other technique to change the orientation.
-Go back to the original screen orientation.
-The screen will be cut.
Suggestion
I. If possible, the game in a vertical orientation should be scaled to a specific resolution. If not, the orientation should be blocked and force a user to use a horizontal orientation, even on a desktop/laptop.
II. The issue could be resolved as suggested above: lock the orientation or scaling the window. The II. issue should be resolved as it may destroy someone's game as it was in my case.

Hi @chrismaliszewski ,
thanks for the bug report and sorry to hear your game got messed up.
If it's not too late, you can still leave the app and restart with your latest savegame.
Savegame is done automatically at every round.
For the issue : screen orientation is locked to portrait on Android, so it's not a problem on that platform.
I will check if we can lock it on Windows.
And I don't think it makes sense to support vertical orientation, it is a lot of work for no obvious benefit.

You don't need to apologise; I started the scenario from the beginning and continued clicking tokens to reach my progress.
I didn't know that the game is saved every round. It's nice to hear that!
I agree; supporting vertical orientation doesn't give players anything so if turning on a window scaling is not possible as a "one-click-thing", then locking the orientation will be the easiest and the best solution and it will be fine.
Have a good day!

If you have some time, I can share a test build with you, with a potential fix.
Can't test it myself as I don't have an ultrabook or a Windows PC with auto rotate.
Using Ctrl+Alt+ arrows seems to be something different, I won't be able to block that.

Sure. I've never done it. How will you share it? Via email or a link?
Krzysztof Maliszewski
www:  http://www.krzysztof-maliszewski.pl/
e-mail<EMAIL_ADDRESS>śr., 12 gru 2018 o 09:37 BenRQ<EMAIL_ADDRESS>napisał(a):

If you have some time, I can share a test build with you, with a potential
fix.
Can't test it myself as I don't have an ultrabook or a Windows PC with
auto rotate.
Using Ctrl+Alt+ arrows seems to be something different, I won't be able to
block that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NPBruce/valkyrie/issues/980#issuecomment-446352737,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHLwOiJbJ4jyJ_Ukm-jBqlu7ogIyAloFks5u4BdugaJpZM4ZMZFI
.

By link, you don't need to share your email with all the spam bots :)

Ok. I'll be waiting for the link.
What do you mean " Ctrl+Alt+ arrows seems to be something different"? You can't block it, is that right?
I've just checked in the original MoM app, another Unity game GoHomeyoureDrunk and a game which is not made with the Unity engine. The issue may the the engine's problem as all but the last game have the same problem (even the original MoM).
I think you could inform Unity developer's team about it and leave the CTRL+ALT+ARROWS issue as is.
Still, let's try the fix of yours :).

Here is the link :
https://we.tl/t-5hcwzD8saU
And yes the problems seems to be a Unity issue.
Solution was found here : https://stackoverflow.com/questions/34086474/enforce-landscape-orientation-on-windows-8-1-for-unity-project
It is referenced here : https://answers.unity.com/questions/1334691/windows-rotated-screen-and-resolution.html

Fix works with the rotatable screen! The app stays horizontal no matter what I do (tested a few things to break the app).
The CTRL+ALT+arrows/changing screen rotation issue is still there but it isn't normal to change an orientation of a screen while playing so it isn't a big issue and it should be fixed by the Unity team, not you.
Thank you, BenRQ!

Thanks @chrismaliszewski, happy to hear that :)
I'll share this solution on the Unity post, it may help someone.


[Bug] Hugo warning when using archetypes that don't contain the string "date"

Expected behavior
All archetypes in castanet work without warning latest hugo. (v.0.37.1)
Actual behavior
Running "hugo new host/john.md" or "hugo new about/about.md" shows a warning message about missing date field (archetypes/episode.md doesn't display the warning because of a hugo bug.. PublishDate  field in the episode.md file has "date" in the comments. Try changing it to uppercase "Date", and notice that hugo new episode/test.md will show same warning! I'll post this bug in hugo's issue tracker.)
Reproduction Steps
Use hugo 0.37.1 and run hugo new host/john.md and see warning message.
Operating System and Version
Windows 7
Web Browser and Version
n/a
Hugo Version
0.37.1

Hmm, they already made a fix in the hugo repo.  They stripped out the warning altogether.  So maybe we can close this Issue right? https://github.com/gohugoio/hugo/commit/ac12d51e7ea3a0ffb7d8053a10b6bf6acf1235ae


Implement Operation::getDepth()

Please add new method getDepth() for Operation interface and implement it in all derived classes.
This method should return a number of nested operations for current operation.
For Value class this method should return 0. For unary operations  it should return 1 + getDepth() of the operation's argument.
For binary operation this method should return 1 + maximum value of getDepth() of it's arguments.
Please also add unit tests for your method.

@PetrukEugen close this task, if it's done, please.


frank.py: Restrict rescheduling to .text section

Sync with melee https://github.com/doldecomp/melee/pull/956

CI is failing because this requires python 3.8. Python 3.7 is EOL. Apparently devkitpro's images are based on debian buster, which still uses python 3.7.

thank you for the contribution- frank has been deprecated as of July 15, 2023, hence the closing of this PR


Edit hdinsight-hadoop-introduction.md

Changed "storage account" to "Storage account."

Hi @ShawnJackson, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (v-shawja). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


Make it compatible with Symfony 3.0

Is it planned to make it compatible this Bundle with Symfony 3.0?

Yes! It may just be as easy as allowing the 3.0 version, if you'd like to try
—
Aaron Scherer
http://bldr.io/
On Sun, Dec 6, 2015 at 5:53 PM, François Pluchino
<EMAIL_ADDRESS>wrote:

Is it planned to make it compatible this Bundle with Symfony 3.0?
Reply to this email directly or view it on GitHub:
https://github.com/uecode/qpush-bundle/issues/84

It's done :).

Merged - will bump a new tag once other PRs are cleaned up.

Ok! Thanks.


How to get On sale product using REST API ?

Hi Team,
I am on using wc-api-node, when i am try to get all on sale product using endpoint /products in current version woocommerce api ( v1)  and add filter['on_sale']=true it's doesn't give me the correct result.
anyone can help me to do this ?
Thanks

https://github.com/woocommerce/woocommerce/issues/12093#issuecomment-253774850


Cannot get remote access without --net=host…?

Sorry if this is a super-newbie question, but do I understand it correctly that I either need to run with --net=host so that Avahi broadcast works OR need to open up port 32400 on my router?
Everything works fine for me with --net=host, but If I remove it I can't seem to enable remote access from settings in the web ui and therefore can't reach the server from my other plex clients (other than the web ui directly against this container).
I have currently not opened up port 32400 and can't try it right now since I'm remote.

One more question related to Docker: Do you know if it is it possible to restart an existing container with different --net settings? I can't seem to make it work. If I use restart or stop+restart on the same container and add --net=host as option I get:
viktor@i7:~$ sudo docker start --net=host plex
flag provided but not defined: --net
See 'docker start --help'.

Seems like I have to create a new container for every restart and if I name it I need to cleanup all the time:
viktor@i7:~$ sudo docker ps -a
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                       PORTS                    NAMES
888f76e48e87        wernight/plex-media-server   "/entrypoint.sh /bin/"   20 minutes ago      Exited (137) 3 minutes ago                            plex
8b33ae9740ec        wernight/plex-media-server   "/entrypoint.sh /bin/"   16 hours ago        Exited (137) 5 hours ago                              high_turing
24658f7cb61e        wernight/plex-media-server   "/entrypoint.sh /bin/"   16 hours ago        Exited (137) 16 hours ago                             elegant_carson
…

It work very well without --net for me !
Check https://github.com/wernight/docker-plex-media-server/issues/9
Tested and approved :)

@JigSawFr I can't seem to extract any info from there that I understand. I DO get the server settings. That discussion is about IP series allowed to use the media server WITHOUT login, right? I'm not interested to allow any usage of my server without login at all. I just want to have it reachable. Screens in swedish locale:
Without --net=host:

It says "Not reachable outside your network".
With --net=host:

Here it says "Fully reachable from outside your network"
So I can't reach this server from the Android app say if I don't run it with --net=host. Unfortunately I can't test to open up 32400 right now, but my question is:
Do I need to either continue run with --net=host or will it work if I just open up 32400?
Thanks!

Without net host you need to map your port, for example mine docker run is :
docker run -d --name plex --restart=always -p 911:32400 -v /data/config/plex:/config -v /data/medias:/medias -e<EMAIL_ADDRESS>-e PLEXPASS_PASSWORD='myPassword' wernight/plex-media-server:autoupdate

So as you can see, i've mapped 32400 to 911 port, so i need to enter manual port in Plex for 911.
And i use a personnalized URL (not ip)

@JigSawFr
I have mapped 32400 to 32400 and tried to manually set 32400 in the config there, but it doesn't help.
My startup
sudo docker run -d --restart=always -name plex -v /var/lib/plex-config:/config -v /var/lib/media:/media -v /var/lib/transmission:/transmission -p 32400:32400 wernight/plex-media-server

Is your server connected to plex.tv ?
Do you tried four or five to apply port number ?

Connect to plex.tv is what I'm trying to achieve. That happens automatically when I log in to this server with my plex account. But it doesn't work currently if I do not set --net=host
"Do you tried four or five to apply port number ?"
Sorry, I do not understand this question? Number of digits of port number? Should I try a low port number like your 911:32400 and set 911 in the config you mean? I'll try!

Ok, sorry for misunderstood, how many times did you tried to set your port number ? Sometimes i needed to apply (click) fives times before succeeded

Your main issue seems to be related to your first question:

Sorry if this is a super-newbie question, but do I understand it correctly that I either need to run with--net=host so that Avahi broadcast works OR need to open up port 32400 on my router?

You need both (updating the FAQ may also be a good option):

Either --net=host or --port <IP_ADDRESS>:32400:32400
and, open port 32400 on your router

The first is to access Plex from your LAN, the second is for Plex to be reachable from the Internet (the error you see above in Plex settings).

Well, thing is I didn't have any port open at all in my router but running with --net=host still made it reachable from the Internet.
So either

--net=host OR
open port from path router -> host machine -> docker container and use "manual port" in web ui set to the public IP:s port.

works.

It's not an or. However I think Plex may try UPnP for routers who enabled it, so that might explain it (https://support.plex.tv/hc/en-us/articles/200931138-Troubleshooting-Remote-Access)


Remove scope dependency

This PR is a follow up on #596. It list's the places where we rely on getting / setting the scope() of DOM-nodes.

[x] expandAll() and collapseAll() methods of the tree
The methods loop recursively through the tree nodes and trigger their expand() or collapse() methods per node. This can be replaced by listening to these events instead of adding method on the scope() object.
[x] dragStart() function of a node
The dragStart() method uses the scope of the element to check if a node or the handler is clicked.
[x] out of bounds check
Check in the uiTreeNode.js file.
[ ] dragMove() function of a node
When moving, the scope() of a node element is used to perform checks on the tree root and the element being dragged.

@angular-ui-tree/developers feel free to add more dependencies on the scope() method to the list.

@Voles, can I help with this? Last time I played with this branch the drag and drop was still not working. Do you have a plan to fix this on your own or would you like me to do anything?

@StefanCodes I'm still working on this. I plan to continue tomorrow. A solution I came up with is to use a service as a map to store node-specific information.

11 days since the last commit? I accidentally broke production yesterday because of this issue. I hope it's not forgotten...
:ping:

@Smolations I'm still working on it. The dragMove handler is actually more complex than I thought. Getting there, but still need some time to investigate and refactor.

@angular-ui-tree/developers  I've finished up the work and the PR is now ready for review. I do have a better understanding now of what's going on in the drag-methods, so I'd like to refactor some of these in the near future.

Home stretch now. You got this, @Voles!  :+1:

@StefanCodes are you able to find the time to review this PR? I do not want to merge this without review, as it's quite a chunk of refactoring.

Yes, sorry! This completely slipped my mind over the holidays. I will find time to review it today or tomorrow.

I was seeing exceptions spring up when dragging a node outside the boundaries of the tree, and also outside the browser window. I fixed those with some guards. I think that also resolves https://github.com/angular-ui-tree/angular-ui-tree/issues/691

The code looks great to me. Nice work!
I had to cherry pick bb15c354e45cdc7bfa0fa8b4e0df5dfafa9de9bd to get drag drop working, but after some manual testing I didn't come across any problems. It seems to be working great.

+1 for this issue
When we may expect this merged?


updated go installation method.

I recently tried this per the readme.
> GO111MODULE=on go get -u github.com/olivere/iterm2-imagetools/cmd/imgcat                                                                  7.8s  Thu May 19 18:23:23 2022
go: go.mod file not found in current directory or any parent directory.
        'go get' is no longer supported outside a module.
        To build and install a command, use 'go install' with a version,
        like 'go install example.com/cmd@latest'
        For more information, see https://golang.org/doc/go-get-install-deprecation
        or run 'go help get' or 'go help install'.
❯ go version                                                                                go version go1.18.2 darwin/amd64

So I did this, and it worked.
GO111MODULE=on go install  github.com/olivere/iterm2-imagetools/cmd/imgcat@latest

Despite I executed the command above, only blank image is returented.

@leekyungmoon I think iTerm2 now comes with their own tools for imgcat and imgls. At least in my iTerm 2 installation, I see bash scripts in $HOME/.iterm2/imgcat and $HOME/.iterm2/imgls (I don't know how they ended there tbh), which are also aliases in my environment.
$ type imgcat
imgcat is an alias for /Users/oliver/.iterm2/imgcat

So while the installation with recent versions of Go is (I will fix it and update the README):
go install github.com/olivere/iterm2-imagetools/cmd/imgcat@latest
go install github.com/olivere/iterm2-imagetools/cmd/imgls@latest

Maybe you're thinking you use these binaries, while you're actually using these bash scripts.


Added Net command to waambokt-service

Fleshed out waambokt-service to support the basic usage of the bot (provided the depended grpc services are running)
The original bot located in the "app" module is now able to be deprecated

This helps with Issue #18


Output addresses add updated_at

Pull Request Test Coverage Report for Build 726181256

5 of 6 (83.33%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 25.719%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

services/indexes/avax/writer.go
0
1
0.0%

Totals

Change from base Build 726152159:
0.04%

Covered Lines:
1736

Relevant Lines:
6750

💛  - Coveralls


[CARBONDATA-53][BUG]Handle query result null for negative number in No_dictionary Column

https://issues.apache.org/jira/browse/CARBONDATA-53
the original code uses 'isDigit' to check number, while negative number has ‘-’， which is not digitm, then return null. Change to use "isNumber"

@ravipesala  pls review.

LGTM

retest this please


NOT WORKING

its not working . when i click on the question it redirected to the payment page for premium.please help!!

not work

#99


KOGITO-5362 - Move topics creation to Kafka test resource

Jenkins run native

Jenkins run native

The (native) Apps check has failed. Please check the logs.

The (native) Apps check has failed. Please check the logs.


how to change outLine  format

how to change out  format:
I: 2019/07/13 22:51:08 log.go:12: ---start-----

i want change it to
2019/07/13 22:51:08 [INFO]  log.go:12: ---start-----

like webServer log

That can't be customized currently.
You can play around with mlog.DefaultFlags, which can be customized via standard go/log flags.
Other than that, I guess it would need code change.


Clickhouse integration fails with unhelpful error

Hey, I cant seem to get click house working, I have setup a clickhouse managed db and configured my .env with appropriate vars
My atlas.hcl looks like this
// Define an environment named "local"
env "local" {
  // Declare where the schema definition resides.
  // Also supported: ["file://multi.hcl", "file://schema.hcl"].
  src = "file://${getenv("PROJECT_NAME")}/schema.hcl"

  // Define the URL of the database which is managed
  // in this environment.
  url = "clickhouse://${getenv("CLICKHOUSE_USER")}:${getenv("CLICKHOUSE_PASSWORD")}@${getenv("CLICKHOUSE_HOST")}:${getenv("CLICKHOUSE_PORT")}/default"

}

Then I get the following error when trying to interact with the server
λ  atlas schema inspect --env local
Error: clickhouse: query server property: read: EOF

I haven't been able to find anything on bumping the verbosity level of atlas. Any ideas what I might be missing or ways to increase verbosity?
Thanks!

Hi @Nintorac, let try with this url format clickhouse://user:pass@CLICKHOUSE-CLOUD-HOST:9440/schema?secure=true if you are using Clickhouse managed DB

Thanks for getting back to me!
Yup, that works :) specifically using port 9440 (rather than 8443) and the secure=true flag
When using the https port I got the following error
λ  atlas schema inspect --env local
Error: clickhouse: query server property: [handshake] unexpected packet [72] from server

So it could help to add some error handling/hints around

incorrect protocol (i.e not using the native protocol)
bad SSL (i.e not setting the secure flag)

Had a quick look to see if I could understand how to do this but my Go is weak :|

Hi @Nintorac, it's true about the error messages being quite unclear. We will improve those messages in the next version. Thanks for reporting this ❤


Supporting LLM Models over REST endpoints

Description
With multiple LLMs being developed by various organizations, and in-house LLMs developed for internal consumption, we at Walmart want to expose all these LLMs over simple REST endpoint. This enables each team to independently develop their LLMs and their API signatures - which can then be easily exposed to users via LangChain. This PR adds the support to serve LLMs over REST endpoints.
For the initial PR, this is a simple implementation of Sync HTTP REST call. Based on approval and interests, we would be enhancing this further with support for Async HTTP and Streaming HTTP as well in future PRs.
Dependencies
This is built on top of requests. If httpx is available on the PYTHONPATH, then httpx is preferred over requests.
Twitter Handles
@daichi_majumdar

how general is this? compared to being specific to how Walmart deploys LLMs internally?
My concern would be this makes some assumption about how you deploy LLMs that are not generalizable outside.
An alternative would be to maintain this as its own package, since it should just rely on langchain-core. this is actually how we will be moving most integrations in the future. if this is interesting, we're happy to help advise on this!

@hwchase17 I would argue REST is in fact, more generalized of all because this same class can be used to call OpenAI endpoints or LLMs served through HuggingFace TGI or vLLM.
The design of the solution does not assume how the model is deployed within Walmart but makes a conscious choice to support any LLM API that is deployed as a REST endpoint without any assumption of the inference server. And since this is built on top of requests - there would be no need for the user to install and manage any additional dependencies.
With this change, we can allow users to use LangChain with LLMs deployed on a vanilla Flask server, or any other inference server that is not yet integrated with LangChain.

@hwchase17 Do you think we can move forward with this?

It's unclear to me that this is sufficiently general. For instance we set
json_body: Dict[str, Any] = {"prompt": prompt}

APIs would need to conform to this interface, right? And incorporating additional features may become unwieldy.
Closing for now, if there's interest we could move to langchain-experimental.


add script to create toc and to create all

adds npm run generate and npm run create-toc

@tomekwi is there a way to add a newline after the last content between the inject-tags?
To avoid this:

So far nothing was added. I treated newline as many Unix programs – as End Of Line. So if your docs end with a newline, there is a newline.
But I guess I’ll add a check for that – and if the docs don’t end with a newline, I’ll add one. I think cat does the same thing.

beforeAll and afterAll could be another plugin. It’s very simple to do, just emit some docs at the beginning or end, like:
{
  output: "This will be at the end"
}

:checkered_flag:

Two commits from @tomekwi sneaked there way in there. Do you guys mind??? Otherwise this is good to go and can be changed later to remove the list/newline workaround.

Looks great to me!

hmmm... I don't like the index approach. I think the only usecase is to inser content before or after the rendered content.
--insert '\n' afterContent

Then we’ll start minimal. Just --insert '\n'. It’s easy to add options later, harder to take them away.

Then we’ll start minimal. Just --insert '\n'. It’s easy to add options later, harder to take them away.

SGTM

will rebase once again asap. :smile_cat:

rebased. can we merge this? @npm-scripts/owners

Done :+1:
Thank you!

@stoeffel @hemanth I’ve made doxie.append today. Here’s the thing at work: https://github.com/studio-b12/mve/blob/b1d7209/package.json#L17.

Nice, is there any way to avoid that echo '[]' | ?

At the moment not :(. doxie expects a JSON array over stdin – so if you call it without passing a string it switches into interactive input.
There is one reasonable option to prevent this – write another CLI for doxie-core which pipes an empty array into it.

:8ball:


[MODULE] - GPT-3 for grammar correction

Please describe the module you would like to add to bricks
A generator module that corrects grammar using GPT-3 from OpenAI.
Do you already have an implementation?
def gpt3_classifier(req: Gpt3ClassifierModel):
    '''GPT-3 model which can be used to classify text inputs.'''
    # Access openai via API key
    try:
        openai.api_key = req.apiKey

        response = openai.Completion.create(
            model="text-davinci-003",
            prompt=f"""
                Correct this to standard English:\n\n
                {req.prompt}""",
            temperature=req.temperature,
            max_tokens=req.maxTokens,
            top_p=req.top_p,
            frequency_penalty=req.frequencyPenalty,
            presence_penalty=req.presencePenalty
        )

        return {"Classification": response["choices"][0]["text"]}

    except:
        return "That didn't work. Did you provide an OpenAI API key?"

Additional context
Premium function. Requires API key.

The code snippet needs to be updated to only return the text

Updated the source code


Example to compare datasets

Can you add an example to compare two datasets for a single model.

I am using this code snippet but it seems something is wrong:
cka = CKA(model, model,
        model1_name="Model1 Data1", model2_name="Model1 Data2",
        device='cuda')

cka.compare(dataloader1, dataloader2)


String concatenation operator

SELECT 'foo' & 'bar';
=> 'foobar'

The official spec says '||' is the concatenation operator, so we should use that.


🐛 Fix comments bug

Fix Comments/Who Commented wrong assignment (#5 )
Automate the chrome driver installation using chromedriver-autoinstaller package.

#5


[SPARK-23207][SQL][FOLLOW-UP] Use SQLConf.get.enableRadixSort instead of SparkEnv.get.conf.get(SQLConf.RADIX_SORT_ENABLED).

What changes were proposed in this pull request?
This is a follow-up of #20393.
We should read the conf "spark.sql.sort.enableRadixSort" from SQLConf instead of SparkConf, i.e., use SQLConf.get.enableRadixSort instead of SparkEnv.get.conf.get(SQLConf.RADIX_SORT_ENABLED), otherwise the config is never read.
How was this patch tested?
Existing tests.

cc @jiangxb1987 @cloud-fan

Merged build finished. Test PASSed.

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

Test build #98867 has started for PR 23046 at commit d8db5f3.

good catch! LGTM

Test build #98867 has finished for PR 23046 at commit d8db5f3.

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

Merged build finished. Test PASSed.

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

thanks, merging to master/2.4!


Major performance improvements

Those following changes improve msbuild performance at least in 2 times. The build time in our case decreased from 31 minutes to 13 minutes.
In CoreCLR project we faced with major performance problem in Linux environment related to msbuild where building our C# tests (more then 10000 stand-alone C#/IL projects) takes a lot of time, much more than on Windows.
I started to investigate and figured out that most of time root msbuild process spends spinning trying to acquire some locks. The perf report shows that fact:
  59.63%  dotnet   libcoreclr.so                         [.] Object::EnterObjMonitorHelperSpin
  18.21%  dotnet   libcoreclr.so                         [.] AwareLock::Contention
   1.05%  dotnet   libcoreclr.so                         [.] LookupMapBase::GetValueFromCompressedMap
   0.85%  dotnet   ld-2.23.so                            [.] __tls_get_addr
   0.77%  dotnet   libcoreclr.so                         [.] CMiniMd::vSearchTable
   0.71%  dotnet   libcoreclr.so                         [.] JIT_MonReliableEnter_Portable
   0.68%  dotnet   libcoreclr.so                         [.] StgBlobPoolReadOnly::GetBlob
   0.63%  dotnet   [kernel.kallsyms]                     [k] update_blocked_averages
   0.62%  dotnet   libcoreclr.so                         [.] CMiniMdBase::SearchTableForMultipleRows
   0.55%  dotnet   libcoreclr.so                         [.] ThreadPoolNative::NotifyRequestComplete
   0.49%  dotnet   libcoreclr.so                         [.] MetaDataImport::Enum

In total it almost 80% of CPU time. I got the exact methods that spend most of time, here they are:
LoadedType Microsoft.Build.Shared.TypeLoader$AssemblyInfoToLoadedTypes::GetLoadedTypeByTypeName(string)
LoadedType Microsoft.Build.Shared.TypeLoader::GetLoadedType(class System.Collections.Concurrent.ConcurrentDictionary<Func<System.Type, object ,bool>, System.Collections.Concurrent.ConcurrentDictionary<AssemblyLoadInfo, TypeLoader$AssemblyInfoToLoadedTypes>>, string, AssemblyLoadInfo)

In those methods there are bunch of locks which led to such problem, but there also were different methods that were using lock statement and Queue<T>.
To solve the main problem I used ConcurrentDicrionary that spreads workload over the number of different locks inside Dictionary.
To solve the problem with Queues I replaced all those cases with ConcurrentQueue which in theory may work even without any lock. I also fixed some cases of inappropriate use of locks.
With my changes perf tool shows a picture like:
   6.81%  dotnet   libcoreclr.so                         [.] WKS::enter_spin_lock
   4.29%  dotnet   libcoreclr.so                         [.] AwareLock::Contention
   1.85%  dotnet   libcoreclr.so                         [.] Module::FindDomainFile
   1.67%  dotnet   libcoreclr.so                         [.] JIT_GetRuntimeType
   1.64%  dotnet   libcoreclr.so                         [.] Object::EnterObjMonitorHelperSpin
   1.61%  dotnet   libcoreclr.so                         [.] CMiniMd::vSearchTable
   1.55%  dotnet   libcoreclr.so                         [.] MDInternalRO::EnumInit
   1.48%  dotnet   libcoreclr.so                         [.] MethodTable::GetModule
   1.48%  dotnet   libcoreclr.so                         [.] ModuleHandle::GetMetadataImport
   1.22%  dotnet   ld-2.23.so                            [.] __tls_get_addr
   1.17%  dotnet   libcoreclr.so                         [.] CMiniMd::vSearchTableNotGreater

So you can see both  AwareLock::Contention and Object::EnterObjMonitorHelperSpin take just (4.29% + 1.64%) 5.93% of CPU time instead of ~80%. The method WKS::enter_spin_lock is the part of GC and its top position might be explained by the memory consumption.

@jeffkl PTAL

This looks really good at first glance. Thanks so much for taking the time to do this!

@rartemev This is awesome. Do you know what gains you got on Windows?
Either way, I'm going to pull this down and see if this makes a difference in the spin waiting I was seeing.

Indeed awesome.  This degree of performance improvement will have a huge impact on CoreCLR build perf and will finally allow us to unify the Windows and non-Windows developer experiences there.  @Microsoft/msbuild-maintainers: Please help us resolve the issues and get this change in ASAP.  Of course, getting this into a toolset consumed by CoreCLR is possibly harder than fixing this issue, but that's a separate problem.
@vancem @brianrob FYI

We've done some testing today and we don't see any real performance changes for Windows. Which is surprising. @rartemev do you know if the issue was compounded by anything in particular in your project? Or was it just in Linux in general where you are seeing issues that are resolved by this? Looking at the code it seems odd it wouldn't get somewhat better everywhere. I'm also curious do you get gains without the change to TypeLoader.cs?
And yes even if it is only for Linux we can get this in and over to the CLI. The only thing we have to resolve before this can go in is the TaskHost must target 3.5 (which means no default Concurrent or Lazy types).

@AndyGerlicher as I said I was testing building tests in CoreCLR repo. So if you want to reproduce my result you should go this way:

Clone CoreCLR repo
Build runtime. build.cmd skiptests or build.sh
Replace msbuild in Tools with new one
Run build. build-tests.cmd or build-tests.sh

The reason why I got started with this issue that we had very different times on Windows and Linux. Since I am neither Linux nor Windows engineer I don't know why it goes like this. But the fact is on Linux we have much worse picture. So this PR is attempt to solve the problem at least on Linux.

@dotnet-bot test this please

@dotnet-bot test this please

I backed TaskHost  to .NET 3.5
@AndyGerlicher @jeffkl PTAL

Looks almost ready to go. I fixed up history a bit but waiting on @rartemev for permissions to push to his branch before this goes in.


XIVY-7773 Add insert connector button.

I would add this button to the right side of the top-bar (to the element pickers) and not the the dynamic buttons in the middle.

It is on the right side at the end, but with an ugly hack ^^

Then please do it without a ugly hack 😅


[Enhancement] make fe buildable on MAC

MAC environment with thrift and protoc installed, can build FE project with no problem. (Running is not guaranteed)

Signed-off-by: Kevin Xiaohua Cai<EMAIL_ADDRESS>What type of PR is this：

[ ] BugFix
[ ] Feature
[X] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)


UP-4787:  Group editor fix - rel-4-3-patches

https://issues.jasig.org/browse/UP-4787
Checklist

[x] the individual contributor license agreement is signed
[x] commit message follows commit guidelines
[x] documentation is changed or added

Issue
Placeholder text in search box is not clearing when input is selected.
Clicking "Go" redirects to top level view instead of showing search results.
Description of change

Change <input> value to placeholder.
update selector to look for input[type=search].

Coverage remained the same at 22.873% when pulling e76f4d4c4ed6e88615cea4bd216989997da5daf1 on ChristianMurphy:UP-4787 into 2b036b0cf5ba01f27281645c89f407621416bc8e on Jasig:rel-4-3-patches.

@ChristianMurphy @drewwills
Perhaps have a look to aria-autocomplete="both" on the search field
http://www.maxability.co.in/2013/12/aria-autocomplete/
but this may be done in another PR


Looking for help with translations

There are currently two people with weblate rights. @ramcq and me. Usually there is not much to do, but we could probably be better.
E.g. provide translators with Screenshots etc.
So some people helping out would be nice.

I'm wrong it's not robert, it's neil also beeing admin. I need to add more people like @barthalion and maybe @ramcq if they can confirm that they have an account, just in case I get hit by a bus.

Added more people and started adding screenshots. People that actually want to work on this would still be nice, but I will close this issue for now.

Hi, just now stumbled on this issue. I am interested in helping out with managing translations (and adding screenshots) if you are looking for more people. (Id. https://hosted.weblate.org/user/kbdharunkrishna/)

@kbdharun you should have rights to add screenshots now, let me know if you need more

Hello @razzeee  if the projects needs any additional assistance, please don't hesitate to reach out.
https://hosted.weblate.org/user/Ikkevoid/

Thanks @Ikkevoid I've added you to the screenshot team now


Should not stop notifications/indications if not previously started

For Peripheral.observe, when subscribers goes from 1 to 0, then underlying notifications/indications are stopped. Although this will also occur even if starting notifications/indications previously failed, or if connection drops. In both cases, stopping notifications/indications should not be attempted (the underlying BLE system will automatically clear notifications/indications).
Because these I/O operations are occurring when they shouldn't (aren't needed), the following exception is being thrown from the observe flow:
Caused by com.juul.kable.GattRequestRejectedException
       at com.juul.kable.PeripheralKt.setCharacteristicNotification(PeripheralKt.java:471)
       at com.juul.kable.PeripheralKt.access$setCharacteristicNotification(PeripheralKt.java:1)
       at com.juul.kable.AndroidPeripheral.stopObservation$core_release(AndroidPeripheral.java:391)
       at com.juul.kable.AndroidPeripheral$stopObservation$1.invokeSuspend(AndroidPeripheral.java:12)
       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(BaseContinuationImpl.java:33)
       at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.java:104)
       at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.java:571)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.java:750)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.java:678)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.java:665)

A potential fix is available as a SNAPSHOT build:
repositories {
    maven("https://oss.sonatype.org/content/repositories/snapshots")
}

dependencies {
    implementation("com.juul.kable:core:0.10.3-issue-190-3-SNAPSHOT")
}

Looks good in my use case, thanks :)

On an internal project, noticed that some BLE connections stalled after app was in the background for a long period of time with device coming in and out of range.
Not sure if it is a regression due to the changes in the SNAPSHOT mentioned above, but I'm going to do more testing before merging #193.


Check linting against fork branch to allow towncrier checks

Description
inv towncrier-check needs the original branch name to check for changes file
In practice it's not an issue running the linting checks against the original branch instead of the merge commit because it's always up-to-date with target branch on this repo (worst case: it's updated via github if target branch is ahead of head)
References
Fix #575
Checklist

[x] I have read the contribution guide
[x] Code lint checked via inv lint
[x] changes file included (see docs)
[ ] Usage documentation added in case of new features
[ ] Tests added

Coverage remained the same at 96.14% when pulling 67be9b9fd5224bd7df8e47cf4bd4384c6df0e3dc on yakky:bugfix/issue-575-towncrier-check into a6a242739c420114b3e03f0f7f7ee41fd6452c08 on nephila:develop.


Additional display props for Datepicker

This adds support for adding a custom className to the Datepicker component.

Is it possible to hide the error message for the Datepicker?


Add the login_email column to api_user_no_phi_view

Related Issue or Background Info
We added a view called api_user_no_phi_view as part of #1153, in order to hide PHI from the new reduced-privilege Metabase user. It turns out we need to add the login_email column to this view in order to properly troubleshoot Okta login issues.
More detail in #1564
Changes Proposed

Replace the existing api_user_no_phi_view with a new view that includes the login_email column.

Additional Information

login_email was appended to the end of the existing view columns, because otherwise Postgres considers this a column rename, which it can't do without first DROPing the view, which makes the Liquibase change set more complicated than it needs to be.

Testing

[ ] This is testable locally by letting the app run the new migrations. You should then see the login_email column show up for api_user_no_phi_view in the local DB.

Changes are Backwards Compatible

[ ] Database changes are submitted as a separate PR

Please check that when deployed to test the email field shows correctly it shows in the test metabase instances. Since this is a migration we should also deploy this to stg and make sure the migration succeeds and the webserver starts

Please check that when deployed to test the email field shows correctly it shows in the test metabase instances. Since this is a migration we should also deploy this to stg and make sure the migration succeeds and the webserver starts

Test metabase confirmation:
stg passing here: https://github.com/CDCgov/prime-simplereport/runs/2641190058
This seems to be working as expected.


Add onScroll Event

ReactList does not contain the scrollable container, so it doesn't make sense to add a prop for it. Simply add an onScroll to whatever parent element is scrollable in your layout.


Incorrect execution of db queries

I've spotted a number of places where we're misusing the Sequel database connection method execute when we expect to handle the result rows. Some are probably dead code, but we should check and either fix or remove the code.
When the result rows of a SELECT are to be handled, the fetch method must be used instead of execute which only returns the number of rows affected. This is confusing because the ActiveRecord connection method   execute behaves like Sequel's fetch. (so we have valid cases of using execute to fetch SELECT results in the code).
These are the suspects:

https://github.com/CartoDB/cartodb/blob/0bf4e743bd9eef7fee5a6c2f3649a4aa2713a9c0/app/models/carto/layer.rb#L244
https://github.com/CartoDB/cartodb/blob/0bf4e743bd9eef7fee5a6c2f3649a4aa2713a9c0/app/models/carto/user_service.rb#L69
https://github.com/CartoDB/cartodb/blob/0bf4e743bd9eef7fee5a6c2f3649a4aa2713a9c0/app/models/carto/user_service.rb#L126
https://github.com/CartoDB/cartodb/blob/0bf4e743bd9eef7fee5a6c2f3649a4aa2713a9c0/app/models/synchronization/adapter.rb#L340-L350
https://github.com/CartoDB/cartodb/blob/0bf4e743bd9eef7fee5a6c2f3649a4aa2713a9c0/app/models/table/column_typecaster.rb#L207-L209

The last one depends on what type of database connection it is passed as argument to the ColumnTypecaster constructor, and at least from here we're passing the wrong one:
https://github.com/CartoDB/cartodb/blob/0bf4e743bd9eef7fee5a6c2f3649a4aa2713a9c0/app/models/table.rb#L902

Example:
ActiveRecord::Base.connection.execute("SELECT version()").to_a
# => [{"version"=>"PostgreSQL 9.5.2 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu/Linaro

User.first.in_database.execute("SELECT version()")
# => 1

User.first.in_database.fetch("SELECT version()").to_a
# => [{:version=>"PostgreSQL 9.5.2 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu/Linaro ```

Note also that ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#execute returns hashes indexed by strings ({"version" => ...}) while Sequel::Postgres::Database returns hashes indexed by symbols ({:version => ...})


Conditional css require / dynamic css loading

Hello,
I have a special use case where I have to load a specific css link based on the url.
I tried to perform a if.bind on a require template statement to change de loading but it is not working.
I tried to bind a value (saved in app.js)  to the "from" of a require template statement, it is not working.
Do you have a way to perform this kind of theming in aurelia ?

require elements are statically analyzed and don't support binding, much like ES2015 import statements. If you can provide some more details we can help you find a solution.

For your website, we would like to change the css loaded based on the sub domain. For example, when someone navigate to sub.domain.com , we would like to load the custom theme of sub in the fly.
So during the loading time of aurelia, we would to be able to load the custom CSS link such as CDN.subcss.example. com
Thanks for the help

Couldn't you add an appropriate mapping in SystemJS before starting the app?

I don't enough know System js to perform the mapping.
Could You provide a example/ sample ?

After your question @StrahilKazlachev , I tried the code below in the index.html
 <script>
    const hasSubdomain=window.location.host.split('.').length>2;
    if(!hasSubdomain){
      System.import('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css');
    }
    System.import('aurelia-bootstrapper');
  </script>

However I got a CORS error and I would prefer doing in the aurelia btw.
Is the mapping that you are speaking ?

No, this way you are loading it.
System.config({
  map: {
    styles: the_path/some_styles.css!text
  }
});

You will need the systemjs text plugin, you should have it btw, not sure at the moment if aurelia was using it to load the css. Also I'm not exactly sure if this is the correct way to map when using a plugin. Check it out in the systemjs repo, you may also want check the paths config. But this way you should be able to use one alias for the styles and map it to what you want before starting the application.
About the CORS, you will get it even if you mange to load it from the application.

@StrahilKazlachev with this mapping, do you not override the basic config of Aurelia js ? How I can change it in the fly ?

You will override only if there are collisions. You can not make changes to the config after the app starts loading.

@StrahilKazlachev It seems working but I always got the XHR errors.
@EisenbergEffect Do you know a other way to perform this dynamic loading by using aurelia ?

Aurelia's startup mechanism is async, so you could always just add a script tag dynamically at startup. There are lots of ways it could be done...

Thanks for the support. I will do it like this


Using transparent 1x1 pixel src placeholder

I did not find any docs on adding a transparent 1x1 pixel placeholder which I found strange. Wouldn't make sense to have the src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" at the beginning?
Like proposed here: https://github.com/aFarkas/lazysizes#tip-specifying-image-dimensions-minimizing-reflows-and-avoiding-page-jumps
Also lazy-load-rocket which is based on lazyload js plugin does this (though they still use a white instead of a transparent pixel):
https://github.com/wp-media/rocket-lazy-load/issues/56
I think the README should mention this or give best practices. A transparent GIF pixel placeholder would play nicely with Progressive JPEG in my opinion and I think something like https://github.com/verlok/lazyload#show-the-images-while-they-load would not be needed. Because first transparent GIF would be shown which is then replaced by progressive jpeg or am I wrong?

Hi @gardneuman,
thank you for opening this issue, I see you are very prepared on this matter.
The reason I’m not advising to use a transparent pixel as a placeholder in the readme is that, if you do that, the browser only shows the lazily loaded image to the users when they are COMPLETELY loaded; and if you care about performance, including perceived performance - which is measured by google through the SpeedIndex - you want the images to be shown as soon as they start loading, especially if they are in the Progressive JPEG format, but also in their baseline version.
Is that clearer now?

@verlok thanks for answereing :)
I totally agree with you that for perceived performance, which is important, images should be shown asap.

The reason I’m not advising to use a transparent pixel as a placeholder in the readme is that, if you do that, the browser only shows the lazily loaded image to the users when they are COMPLETELY loaded

Are you this is the case? I thought that LazyLoad would replace the src (being the transparent gif) with the real src (within the threshold). And then the browser would do all the rest, that is, start fetching the jpeg. Hence, I thought that progressive jpeg would be shown as soon as the browser starts fetching and not when loading has finished.
What you say sounds like: browser fetches image and only then the src is replaced by LazyLoad.
So I am confused :)
Other than that, might it be a solution using something like to show the real image immediatly as soon as loading begins:
/* transparent gif placeholder */
img[data-lazy-src] {
  opacity: 0;
}

/* real image */
img.lazyloading,
img.lazyloaded {
  opacity: 1;
}

Hey @verlok
still confused on how it works, but maybe you could then add a recommendation to https://github.com/verlok/lazyload#show-the-images-while-they-load that transparent placeholder GIFs should not be used. Well, that LazyLoad does not recommend this because of xyz.
Maybe I am looking at it from the wrong side because rocket-lazyload (based on your LazyLoad) recommends using a placeholder GIF. And so does the other lazyloading js library.
If there was a guidline for this by LazyLoad then at least rocket-lazyload (which I use in the end) could be updated. Right now I feel like optimizing something (using placeholder gif) which might (still not understanding) have the inverse effect :)

Hey,
yes, I'm sure of what I told you. I tested it a while ago, but it's like I told you. To recap:

If you don't put anything in the src, when LazyLoad copies the data-src in the src, the image is shown while loading by the browser
If you put something in the src, when LazyLoad copies the data-src in the src, the browser waits until the new image is loaded, then replaces the image

Is that any clearer now?

Hi again @gerdneuman, about:

If there was a guidline for this by LazyLoad then at least rocket-lazyload (which I use in the end) could be updated.

this is a social coding community, why don't you fork my repo, do the change you would like to see in the README.md file, then open a pull request to integrate the change in this repo?

@verlok  Much clearer now, thanks so much :)
I added #214. Hope what I wrote in there is correct. These were my concern and I think that I was wrong and it would be helpful to other users as well.

As a proof of what I stated in my previous comment, I've created this code on CodePen: LazyLoad, progressive JPG and placeholder images. You can view the difference setting a slower connection speed (I used "fast 3G") and disabling the cache.
I also recorded a video of the result, which I published on Youtube as LazyLoad and placeholder gif loading time - a comparison.

Thanks so much on clarifying this. Today I learnt something :) FWIW, as a Firefox user I tested using the Firefox network throttle feature and for slower connection speeds like "Regular 2G" the perceived performance is way better without a placeholder.  :)


update for a better user flow

swap step 5 and 6 so that user can deploy analyzer right at the directory, then move to the plan dir.

@beemarie PTAL
cc @rvennam @duglin

LGTM


Android/iOS drawRoad isn't working

In the latest version of the plugin (0.60.1) the drawRoad function is broken. It is impossible to draw a route.
I am trying to use this function as follows
roadInfo = await _mapController.drawRoad(
    GeoPoint(latitude: 59.871803, longitude: 30.3817244),
    GeoPoint(latitude: 59.9334042, longitude: 30.278623),
    roadOption: const RoadOption(
      roadColor: Colors.blue,
      roadWidth: 10,
      zoomInto: true,
    ),
  );

The API response is successful, you can see it using the link from the logs
D/BONUSPACK(11165): OSRMRoadManager.getRoads:https://routing.openstreetmap.de/routed-car/route/v1/driving/30.3817244000,59.8718030000;30.2786230000,59.9334042000?alternatives=false&overview=full&steps=true
But the roadInfo variable does not contain data about the route. The roadInfo.route field is empty. All other information (like roadInfo.distance, roadInfo.duration, roadInfo.instructions) is present.
As a result, the road is not displayed. After downgrading the plugin (v. 0.42) the roadInfo.route field is present and all works correctly. Can you please check what happened?

it's bug the route should be not null
i will fixed

Oh yes, the road is indeed drawn, it was my code that instantly removed it when it noticed the route was empty
Sorry for the misinformation

check our new version  0.60.2

Yep, it's fixed


Inconsistent paths when installing dependency with a different name

When explicitly installing a package that is registered under multiple names, the package is always placed in bower_components under the canonical name from the package's bower.json. For example, bower install quartertobowertest-a and bower install quartertobowertest-b both install to bower_components/quartertobowertest-a.
However, if another package has it in dependencies, it is installed to the name listed in dependencies no matter what. For example, bower install quartertobowertest-dep, which has:
"dependencies": {
  "quartertobowertest-b": "*"
}

installs the package to bower_components/quartertobowertest-b. This can cause duplicate installs when multiple packages depend on the package under different names, or the root package depends on the package and its dependent.
This was initially reported as ftlabs/ftdomdelegate#77, which is registered as dom-delegate in the main registry and ftdomdelegate in the Origami registry.

It's interesting. Maybe you can write a failing test in test/commands/install.js ?

I'm not so sure this is something we can fix soon. I'll summarize the situation:
Because the bower.json is set to name: dom-delegate and there is only one (the same) repo for both packages the following happens:
Bower registry > dom-delegate > resolves to: dom-delegate
Origami registry > ftdomdelegate > resolves to: dom-delegate
Which is by design, as the packages are literally pointing to the same repo only named differently and the bower.json is the single point of truth here. Not surprising — agree?

Quick solution to fix this confusion: rename in Bower registry & bower.json ==> both packages now resolve to the same repo and have the same name. All good, you solved all problems. Then again you now have the same packages twice.. get rid of one!

When installing as a dependency you specify the name, which means Bower does (so it seems) not check the registry, but assumes you entered the right name and fetches exactly that package, installing it as specified in the depency-section (it does not resolve the name from the bower.json). This is the real problem and it only occurs because you have two packages which in reality are one. Even pointing to the same repo. The easy solution: again.. don't have two packages that really are one! That way you will not have duplicate installs from different depencies.
The problem behind the scenes: If more than one registry is in use (or actually always), we need to resolve dependency-names from the bower.json.
Using just one registry, we also need to make sure we do not allow to add a package that points to a repo which is already registered under a different name! I suspect right now this can also happen, as bower lookup jquery and bower lookup jQuery might point to the same repo. As dependencies then, they are different packages (not tested).
One can prevent this by making the DB fields for name and url unique in our registry, however it might be too late — will need to find examples here.
Just out of curiosity: what's the reason to have the same package in both registries?

@BenMann I saw plugins like jquery also registered many times, This may happen if the user trying to check bower register is happening or not?  So we have to make both name and URL unique, because we should not allow same package with different name and different package with same also. If you confirm I will crack the code of registry this week end.

TLDR: If you have a better solution than described in :two:, I'm all for it!
We should not touch the registry for the actual issue described, as it wouldn't fix that problem. There can already be cases like this and it is now a little delicate which ever way we go, because we don't want to break current builds. Let's divide this into two before going into detail..

Here's an easy testcase (that actually works):
We have three packages. Two point to the same repo: bowernametesta and bowernametestb. They are effectivley the same package (same repo), registered under two names. --> :one:
A third package which is called bowernametestreq requires this dependency:
"dependencies": {
    "bowernametestb": "bowernametestb#*"
  }

Now if you install those two packages:
bower install bowernametesta and then
bower install bowernametestreq
you installed the same package under different names because the dependency is listed under a different name in bowernametestreq. --> :two:

I'll start with :two: : Dependencies are always installed to /bower_components/<name in "dependencies">, even though the bower.json of that package shows a different name. That's the actual problem. A possible solution is to check the bower.json of every dependency that will be installed and install it to /bower_components/<name in dependencies' bower.json>. This however might break current builds if we change it (cc: @sheerun riiight)? Without having looked at the code, such a fix is probably somewhere between install and resolvers.
:one: is a different beast that I would totally postpone to a new registry version. What really needs to be checked is, whether a url is already present in the database and if this is the case, throw an error and inform the user that the package is already registered under name xyz. Easy for one DB but ideally this would magically work between different registries :smile:.

I'm going to reference this issue here, because :one: is actually even worse, if those packages are named identically, but one is lower-case and the other camel-case.

Maybe in Bower 2.0 we can ignore registry aliases and use name from bower.json

Feature like this won't be implemented because bower is in maintenance mode now


--project should be optional

This is a nice to have. Let's keep the parameter for now to be explicit.


ci: enable microbenchmark

What
Enable microbenchmark to be orchestrated in GitHub actions. Though it will run in Buildkite since the current pool of bare-metals is at the moment provided by Buildkite.
Remove the implementation in Jenkins
Why
Jenkins will be decommissioned in the near future.
Tasks

[ ] Agree whether to disable on PRs for the time being

The existing integration to report on a PRs the microbenchmark might need to be revisit, there are some security concerns to avoid accessing any Elastic CI environments as much as possible when running on a PR basis.

Test
See https://github.com/elastic/apm-agent-python/actions/runs/4940723438/jobs/8832634026?pr=1829
Important
Something is not working currently with the existing script even in Jenkins hence in Buildkite, it reports
  /usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version!

    warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

  Failed commits:
  dffe1868d96f9ec3e1787ffd0a32d34d27cd1c1d

Already reported to the team, in any case, I think changes are good and can replace Jenkins

Alright, I fixed up one major issue here: https://github.com/elastic/apm-agent-python-benchmarks/pull/6
We didn't add wrapt to that requirements.txt after we unvendored it in this repo.
However, I don't think that will fix your requests error. I think that is due to an unclean environment. The script creates the virtualenv in $HOME/.local which is likely not the correct place to avoid side effects. We don't install requests so we should not be seeing an error from requests. I recommend modifying this line to target a directory in a local directory so it's clean.
https://github.com/elastic/apm-agent-python/blob/1e38ec53115edc70c36c6485259733a8cde02ed9/scripts/run-benchmarks.sh#L17

virtualenv -p python3 "${HOME}/.local"

since HOME is not available in the CI runner, it uses the current workspace, see https://github.com/elastic/apm-agent-python/pull/1829/files#diff-6378df415c7b7a21e9acdbbb20884e24b46274dc6fc5ba41cd4d849eb13083c9R6-R12
Let me also double check just in case something else is going on

@basepi , I'd like to get your input 🙏

Apologies for the delay, PTO and all that.


fixed for large dataset

Hi, @chrismattmann Try it. I changed it binding like " testdata/circle5.json" and " testdata/clusters5.json". You can make it changed to your file name. Any suggestions?

yay commiting now!

I tried this and didn't work @dongnizh  :(

It just hangs and never shows the cluster how long does it take? Tried in chrome and on safari

@chrismattmann  It works fine on my chrome and safari. But it has a little delay to load all that nodes. I will show you later on local server. ^_^


websocket link exceptions

Related issue https://github.com/gql-dart/gql/issues/115
All exceptions have the same behavior of HttpLink exceptions

Please update Changelog and


API crashes, error: HTTP Header sent

Double json Response gets sent at line 42 on main.js.
Maybe also implement try catch to catch the errors.

Added Issue Hashtag


Elkarte 1.1 installer: database not detected

Critical Error!
The installer was unable to detect database support in PHP that ElkArte can utilize. Please ask your host to ensure that PHP was compiled with the desired database, or that the proper php extension is being loaded. Currently ElkArte supports the: "" extensions

Database server
Server: Localhost via UNIX socket
Server type: MySQL
Server version: 5.6.30-1 - (Debian)
Protocol version: 10
Server charset: UTF-8 Unicode (utf8)

Web server
Apache/2.4.25 (Debian)
Database client version: libmysql - mysqlnd 5.0.12-dev - 20150407
PHP extension: mysqli curl mbstring
PHP version: 7.0.14-2

The error log is empty.

Would you mind checking what's the result of:
<?php
echo (int) function_exists('mysqli_connect');

1, of course. :-)

After some debugging I realized the variable isn't updated. I don't quite know what the proper PHP and/or Elkarte scope guideline is, but this works for L12 https://github.com/elkarte/Elkarte/blob/4af427a9cf7f61504692c25f3677a5288edb62ff/install/Db-check-MySQL.php#L12
$GLOBALS['databases']['mysql'] = array(

I can stick that in a PR for MySQL and PostgreSQL.
I suppose I'll cannibalize this for the next issue:

[Thu Feb 02 14:53:22.451395 2017] [:error] [pid 19989] [client <IP_ADDRESS>:49784] PHP Fatal error:  Uncaught Error: Call to undefined function un_htmlspecialchars() in /home/frans/www/public_html/elkarte-1.1/install/CommonCode.php:630\nStack trace:\n#0 /home/frans/www/public_html/elkarte-1.1/install/install.php(230): saveFileSettings(Array, Array)\n#1 /home/frans/www/public_html/elkarte-1.1/install/Install_Controller.php(536): updateSettingsFile(Array)\n#2 /home/frans/www/public_html/elkarte-1.1/install/Install_Controller.php(55): Install_Controller->action_databaseSettings()\n#3 /home/frans/www/public_html/elkarte-1.1/install/install.php(44): Install_Controller->dispatch(3)\n#4 {main}\n  thrown in /home/frans/www/public_html/elkarte-1.1/install/CommonCode.php on line 630, referer: http://dfsdfd/elkarte-1.1/install/install.php?step=0

An include or require must be missing somewhere.

I fixed that by sticking
	definePaths();
	require_once(SOURCEDIR . '/Subs.php');

at the beginning of saveFileSettings() https://github.com/elkarte/Elkarte/blob/4af427a9cf7f61504692c25f3677a5288edb62ff/install/CommonCode.php#L603
Next error:

[Thu Feb 02 15:09:27.072778 2017] [:error] [pid 19989] [client <IP_ADDRESS>:51364] PHP Fatal error:  Uncaught Error: Cannot use object of type Closure as array in /home/frans/www/public_html/elkarte-1.1/install/CommonCode.php:558\nStack trace:\n#0 /home/frans/www/public_html/elkarte-1.1/install/Install_Controller.php(587): db_version_check()\n#1 /home/frans/www/public_html/elkarte-1.1/install/Install_Controller.php(55): Install_Controller->action_databaseSettings()\n#2 /home/frans/www/public_html/elkarte-1.1/install/install.php(44): Install_Controller->dispatch(3)\n#3 {main}\n  thrown in /home/frans/www/public_html/elkarte-1.1/install/CommonCode.php on line 558, referer: http://ljk;;klj;/elkarte-1.1/install/install.php?step=0

Okay, fixed that.
	$current_version = call_user_func($databases[$db_type]['version_check'], $db_connection);

Now let's see if it continues to the end from here on out.
There went my extension writing time. ='(


Update repo for Debian bullseye

E: The repository 'https://deb.goaccess.io bullseye Release' does not have a Release file.

Thanks for reporting this. I've pushed bullseye release.
goaccess |  1:1.5.1-hirsute |  hirsute | amd64
goaccess |   1:1.5.1-bionic |   bionic | amd64
goaccess |   1:1.5.1-groovy |   groovy | amd64
goaccess |    1:1.5.1-focal |    focal | amd64
goaccess |  1:1.5.1-stretch |  stretch | amd64, i386
goaccess |   2:1.5.1-buster |   buster | amd64, i386
goaccess | 1:1.5.1-bullseye | bullseye | amd64

Closing this, feel free to reopen it if needed.


Use botocore for s3 kwargs

Issue #827:
Description of changes:
Use botocores's Loader and ServiceModel for extracting the accpeted kwargs out of the json service definitions of botocore instead of having a manually maintained dict.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: e61f85e87f403e7c010d9ab295514fd4c20248c9
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: GitHubCodeBuild8756EF16-pDO66x4b9gEu
Commit ID: 01aa506ffd02da56b0d5fb928fca9b623c96cc10
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Do a test release

Let's make a test release candidate on NPM so we know we have everything we need in order to release the next major version of this library.

@grgia This ticket in particular would be good to coordinate on -- the IR team decided today it's probably a good idea to try to make a release candidate ASAP so we can make sure we have what we need in order to make a new release when it's time. I believe we'll want to coordinate with @AndrewGable on this.


Fixed SELECT in column expression (MLDBFB-646)

Allows the SELECT part of COLUMN EXPR (...) to be used.
@simlmx FYI
@jpilaul would be worth adding to the tutorial on COLUMN EXPR
select column expr(select {a: value() * 10, b: value() * 20} ) named 'res' from (select x:1, y:2)

[
         [ "x.a", 10, "-Inf" ],
         [ "x.b", 20, "-Inf" ],
         [ "y.a", 20, "-Inf" ],
         [ "y.b", 40, "-Inf" ]
      ]

Wow. +1.


test: add providers tests

Closes https://github.com/snapshot-labs/pineapple/issues/30
@bonustrack we will need Fleek/Pinata/Infura/Web3storage API keys added to repo envs to make it pass at CI.

I've just added the API keys as GitHub Actions secret


seems like cloudflare is using some fork of this library at their bot mitigation scripts

can be found in sites using cloudflare under the url:
/cdn-cgi/bm/cv/669835187/api.js
/**
 * @license
 * Copyright 2020 Cloudflare, Inc.
 * All rights reserved.
 *
 * This work is based on https://github.com/antoinevastel/picasso-like-canvas-fingerprinting, released under the following terms:
 *
 * MIT License
 *
 * Copyright (c) 2019 antoine vastel
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 **/

just wanted to let you know because it feels like this library didnt got much attention

Hi, thanks for the information @boynet

Hi, thanks for the information @boynet

Popcat.click also uses this https://popcat.click/cdn-cgi/bm/cv/669835187/api.js

Hi, i found the same, with a similar url path, e.g. here: https://www.impfen-thueringen.de/cdn-cgi/bm/cv/669835187/api.js
Although, they probably mangle the result with md5 code from here https://github.com/satazor/js-spark-md5 but it's hard to tell what exactly they do because it's very obfuscated.
@avastel, as an expert, would you say that this is really trying to protect against bots or is it possible that it's used for identifying users (or computers at least) across different cloudflare-powered services.
The above url is one of the online covid vaccination services in Germany where you make appointments, download the certificate, aso. I do not like being fingerprinted at places like this. And i wonder why it's done. E.g. i get the certificate without javascript enabled so it's obviously not required for protection against bots.
Well, sorry for the ranting. It's not your speciallity i guess, but again, do you think it's possible to track browsers with your fingerprinting code?

Thanks for letting me know that @defgsus . I can confirm you that Picasso cannot be used for tracking. The goal is to have a value that is stable for a class of device, e.g. latest chrome on windows, or firefox on linux. However, you can't distinguish users inside that class of devices.
Regarding the script, I quickly deobfuscated it.  That means they basically just collect device statistics, apart from the user-agent. It's a bit creepy, still, but i trust you if you say it's determining just a class of device. I will play with your code and compare with the result of the cloudflare script and then might come back with more questions ;)
Thanks a lot.

I read a bit through the cloudflare docs and blog and it makes more sense now. 'bm' in the url very likely means bot management, their framework for bot detection and fire-walling. The script is automatically injected to cloudflare'd sites. Here's the relevant part: https://blog.cloudflare.com/cloudflare-bot-management-machine-learning-and-more/#js-fingerprinting


fix run env

There are conflicts in the run event. This PR fix this.

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