refactor(dns): new dns client library

Summary

Utilize mlcache as the DNS record cache:

First, look up the hostname with the key short:<name>:all in the cache. If not found, then
Iterate over all names and types to look up with the key <name>:<type>

All names are generated by resolv.conf options: "search", "ndot," and "domain"
All types are generated by the kong.conf option dns_order

Query the nameserver via mlcache:get() callback if no cached record is found.

Introduce observable statistics into the DNS client library and admin API /dns to retrieve the data.
Introduce the legacy_dns_client option to toggle whether to use the new library.
Deprecate the dns_no_sync option; the new library always uses synchronous queries.

Checklist

[x] The Pull Request has tests
[x] A changelog file has been created under changelog/unreleased/kong or skip-changelog label added on PR if changelog is unnecessary. README.md
[ ] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

Issue reference

Fix KAG-3220
For reviewers

how this dns client library processes one query

dns_client:resolve("kong.com")
  -> resolve_all("kong.com")
    -> mlcache:get(@key=`short:kong.com:all`)    -- For kong balancer system, it will not specify the DNS type
       -> if we get cached @answers from mlcache, we directly return it
    -> resolve_names_and_types()
       -> resolve all `name`s and `type`s combinations and return first usable @answers
          * `name`s: produced by resolv.conf options: `search`, `ndots` and `domain`
          * `type`s: specified by kong.conf dns_order option, e.g. SRV, A, AAAA, CNAME
          mlcache:get(@key=`kong.com:SRV`,  resolve_name_type_callback)
          mlcache:get(@key=`kong.com:A,     resolve_name_type_callback)
          mlcache:get(@key=`kong.com:AAAA`, resolve_name_type_callback)
          mlcache:get(@key=`kong.com:CNAME`,resolve_name_type_callback)
          -> mlcache will check if the key is in its lrucache and shdict,
             if the key does not exist in mlcache, it will call resolve_name_type_callback()
             -> resolve_name_type_callback
               -> mlcache:peek(key, stale=true)
                  try to check if the key is expired but still present in mlcache:shdict
                  if we get expired key, we used it directly and start an asynchorounouse task to update this stale record
                  -> start_stale_update_task
               -> if we dont get expired key, we will query it from the DNS nameserver
                  -> resolve_query

Overall I cannot stress hard enough that mlcache users in an application as complex as Kong should only use :get(), which is an extremely, extremely powerful, clean, and performant interface that should (if properly used) cover the great majority of caching use-cases and guarantee fantastic performance and stability. Most of the mlcache problems that I have seen in the wild or in the Gateway are actually due to improper usage of the library. Only using :get() (or :get_bulk()) should be enough, and should guarantee very few errors, and if there are errors they can easily be mitigated with fallbacks and/or retries in the code itself. I truly feel like this should be heavily taught to mlcache users especially Kong Gateway developers who often misunderstand how mlcache works and how it should be used.
I am afraid that by misusing mlcache, developers will slowly lose trust in the library (as their own fault) and thus try to rewrite a solution that will eventually not be as powerful as mlcache really is if mlcache is used properly. This is a dangerous pattern that always had me concerned, and this concern keeps increasing as I keep seeing mlcache being misused. Perhaps the documentation is not clear enough that the write operations (set(), delete(), update()) should only be used when users really know what they are doing. An mlcache user who truly needs these write functions and who really know what they are doing would not use these functions without implementing opts.ipc and using a non-message-based IPC mechanism, which is the very minimum for using these write functions in a production OpenResty application. But again, with most use-cases only get() or :get_bulk() should be necessary.

Could you change the default dns_order in kong.conf.default?

Switch SRV and A?

#dns_order = LAST,A,SRV,CNAME

Why should we add a CNAME?

Could you change the default dns_order in kong.conf.default?

Switch SRV and A?

#dns_order = LAST,A,SRV,CNAME

I think we could keep original order for first release of this lib, and most of k8s kong user needs to use SRV firstly.

Why should we add a CNAME?

Seems we need it for compatibility with old DNS implementation.

Yes need to compatible with old library

Should we add comments to kong.conf.default telling customers which DNS options are legacy, which options are not.

Should we add comments to kong.conf.default telling customers which DNS options are legacy, which options are not.

I think we should make this option a hidden switch, similar to the previous ATC refactor, which also had a hidden switch.

Introduced global caching for DNS records across workers, significantly reducing the query load on DNS servers.

This can be switched off, by reverting to the old client right?

Introduced observable statistics for the new DNS client, and a new Admin API /status/dns to retrieve them.

Nice

Deprecated the dns_no_sync option. Multiple DNS queries for the same name will always be synchronized (even across workers). This remains functional with the legacy DNS client library.

This was added as an explicit request from @subnetmarco in a very early version. But I haven't seen it used. Other than during some debugging sessions. So to me this seems ok to remove.

Deprecated the dns_not_found_ttl option. It uses the dns_error_ttl option for all error responses. This option remains functional with the legacy DNS client library.

I mentioned it before on confluence somewhere, but this is a bad idea imho. dns_error_ttl (when the server responds with some internal error) should be short (1-2 secs), whereas dns_not_found_ttl should be long (at least 30-60 seconds) because it requires user interaction to resolve.
This is mainly because the former is to be looked at by Kong admins, but the latter will mostly be generated by user errors. Scenario:

error ttl is 1 second
a user in a big enterprise somewhere pushes a bad hostname through a pipeline and it gets deployed
all Kong nodes in the cluster now start to throw errors in the logs every 1 second
nothing the Kong admin can do about it, he/she most likely doesn't even know who owns the bad config anyway.

Deprecated the dns_order option. By default, SRV, A, and AAAA are supported. Only names in the SRV format (_service._proto.name) enable resolving of DNS SRV records.

This seems like a valid change, but also a breaking change, yet I have no idea how much impact it is going to have. So also here, revert to the old client if it breaks right?

Hi @Tieske

...
This seems like a valid change, but also a breaking change, yet I have no idea how much impact it is going to have. So also here, revert to the old client if it breaks right?

In terms of compatibility, following discussions with Datong and Saju, this one is aimed at being simple and usable, not needing to be fully compatible with the original one. It will only be switched to when users encounter issues with the original DNS client now, and it won't be enabled by default until at least version 4.0.
To achieve the goal, it directly mirrors the logic of the nginx/openresty/Golang DNS resolver, only keeping a few necessary features, such as stale ttl, error ttl and resolv.conf/hosts parsing.
When issues arise, we can easily explain to customers that the implementation of other industry software is the same way. For known or potential issues, we don't plan on making further fixes. Instead, we'll let users who need those features/bugfixes switch directly to the new one, as we've noticed that some users do rely on the recursive behavior of CNAME.


feat!: Added advanced logging configuration. Bump version of AWS provider to 5.32

Description
Adds logging_config block for enabling advanced logging.
Motivation and Context
Closes #530
Breaking Changes
No
How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

Could you please update this module and handle the cases when the user specifies custom log group then default log group should not be created?
Maybe there are other cases that should be considered. I would appreciate if you can think about this and update this PR.

My bad, thanks for the review. I've pushed some tweaks that handle the different log group scenarios better.

use_existing_cloudwatch_log_group
logging_log_group
aws_cloudwatch_log_group created

true
null
❌ retrieved from data source: "/aws/lambda/${var.lambda_at_edge ? "us-east-1." : ""}${var.function_name}"

true
populated
❌ retrieved from data source: var.logging_log_group

false
null
✅

false
populated
❌ retrieved from data source: var.logging_log_group

Also, maybe we need to update the log group in the outputs of the module if user specifies custom log group.

Existing data source is re-used so outputs should update appropriately.

This PR is included in version 7.0.0 :tada:

This causes breaks in Gov Cloud see #539


Autocomplete "closeOnSelect"

Bug, feature request, or proposal:
Proposal to add "closeOnSelect: boolean" property.
What is the expected behavior?

User selects an option
List does not close

What is the current behavior?

User selects an option
List is closed automatically

What is the use-case or motivation for changing an existing behavior?
https://material.angular.io/components/chips/examples
Here is example "Chips autocomplete"
When user selects many items sometimes auto select closing is not useful.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Last version
Is there anything else we should know?
Package select2 provided property "closeOnSelect"
@ng-select provided this option also

+1 on this issue I bumped into.
The list is closed automatically so you have to click out (input loses focus) and click back in (input gets back the focus) in order for the auto-complete list to appear again...which is quite not conventional.

This would be a great feature. UX isn't great with the current behaviour.


Compton and terminal

hi all,
i am creating a Manjaro spin with JWM (in https://goo.gl/GcoAow), but i'm in problem. i am having problem with the compton, because it changes the color of the terminal window (sakura). with xterm does not occur this!
sakura: http://www.auplod.com/u/odapul5f9ea.png
xterm: http://www.auplod.com/u/ldpoua5f9eb.png
this is a bug?
vlw fwi, Holmes

Hi @holmeslinux I have the same issue in Ubuntu with sakura.
I also have another issue  #177
which makes an autohide Tray not have any icons visible.
Could you test to see if creating a Tray with autohide and a few TrayButtons disappears.
p.s. I am working on a similar project using Ubuntu as the base, maybe we can share some tools we use?  Point me to your ISO and I will try to build my JWM-settings-manager for manjaro if you like

the problem not only with sakura. already tested with other terminals. always change the window color. this problem does not happen with xterm!
great, we exchange information...
isos: http://goo.gl/t1oxbC
codes: https://goo.gl/eWXAlk
vlw fwi, Holmes

I think this may be due to JWM using the wrong visual for frames.  If that's the case, it should be fixed in snapshot 1257.

this might be the problem and thanks for listening.
vlw fwi, Holmes :)

I'm updating my PPA and I'll test this.
@joewing do you think this will fix the issue with the autohide Tray not having icons when using compton?

This doesn't fix the autohide issue, unfortunately.  I'm looking into that now.

Thanks Joe!!  JWM is by far the BEST supported (anything related to computers) ever!

And I think the autohide issue might be fixed now.
I was able to reproduce a similar issue with xcompmgr, not sure if it's the same thing.

Yes!  Thanks Joe, I'll close the bug I opened about it!

There is a new issue that I think is related to this being fixed...
Opening FLUID (fltk user interface designer) will sometimes lock the screen up.
I can 'fix' the problem by dropping to a different TTY and then going back to my X TTY.  JWM still takes keyboard commands, but the screen does NOT redraw at all.
It happens with most any FLUID project I open, large or small.
It doesn't happen with blank ones or any of my random attempts to make a dummy file..
Most of the keyboard is locked, and the mouse as well.
However I can change the window position with my keyboard shortcuts for maxleft maxright maxtop maxbottom.   But if I do that then I completely lock up things and the TTY trick does not work.
I am using 1260

Marking this as closed since I believe the original issue is fixed.  Is there still a problem with FLUID?  If so, please let me know or open another issue.


Change detection not working with chunked loading.

Being honest i am not sure if this is a bug or i have got it setup wrong. I request my data from an api in chunks of 20. My code is built around the chunked example provided. The issue is that when i update the arrays the view does not update to reflect the new items, until i click the page. The fact it does not update until i click the page is why i presumed its an issue with change detection. Now be this a bug or an issue with my code any help would be great. I have included my code below. Additionally i have wrapped my updates in a timeout as i believe these changes should be detected.
import { Component, OnInit, Input, OnDestroy, NgZone, ViewChild } from '@angular/core';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/of';
import { User } from './../models/user';
import { Role } from './../../roles/models/role';
import { UsersService } from './../services/users.service';
import { ChangeEvent } from 'angular2-virtual-scroll';
import { promise } from 'selenium-webdriver';
import { VirtualScrollComponent } from 'angular2-virtual-scroll';
import { Subscription } from 'rxjs/Subscription';

@Component({
  selector: 'app-users-list',
  template: `
  <button (click)="clearList()">Clear All</button>

        Showing {{indices?.start + 1}}
        - {{indices?.end}}
        of {{users?.length}}
        ({{scrollItems?.length}} nodes)

    <virtual-scroll [childHeight]="75" [items]="currentBuffer" (update)="update($event)" (end)="fetchMore($event)">

            <app-user-info *ngFor="let user of scrollItems" [roles]="roles" [user]="user">

                Edit

            </app-user-info>

Loading...

    </virtual-scroll>
  `
})
export class UsersListComponent implements OnInit, OnDestroy {
  users: User[] = [];
  currentBuffer: User[] = [];
  @Input() roles: Role[];
  currentPage: number;
  scrollItems: User[];
  indices: ChangeEvent;
  readonly bufferSize: number = 20;
  loading: boolean;
  userServiceSub: Subscription;
  timer;
  @ViewChild(VirtualScrollComponent)
  private virtualScroll: VirtualScrollComponent;

  constructor(private usersService: UsersService, private zone: NgZone) {
  }

  ngOnInit() {
    this.reset();
  }

  ngOnDestroy() {
      if(this.userServiceSub) {
          this.userServiceSub.unsubscribe();
      }
  }

  clearList() {
    this.currentBuffer = [];
  }

  reset() {
    this.loading=true;
    this.currentPage = 1;
    this.userServiceSub = this.usersService.getUsers(this.currentPage).subscribe(users => {
        clearTimeout(this.timer);
        this.timer = setTimeout(() => {
            console.log("Update objects");
            this.users = this.users.concat(users);
            this.currentBuffer = this.users.slice(0, this.bufferSize);
        }, 0);
    });
  }

  update(event) {
    this.scrollItems = event;
    console.log("update scroll items");
    console.log(event);
  }

  fetchMore(event: ChangeEvent) {
    if (event.end !==this.currentBuffer.length) return;
    this.loading=true;
    this.currentPage += 1;
    this.userServiceSub = this.usersService.getUsers(this.currentPage).subscribe(users => {
        clearTimeout(this.timer);
        this.timer = setTimeout(() => {
            this.users = this.users.concat(users);
            if (this.currentBuffer.length < this.users.length) {
                var chunk = this.users.slice(this.currentBuffer.length, this.currentBuffer.length + this.bufferSize);
                this.currentBuffer = this.currentBuffer.concat(chunk);
            }
        }, 0);
    });
  };
}

I am not 100 percent sure what the issue was here, as i have set values in subscribe before and change detection has fired. I had to use ChangeDetectorRef and this.cd.markForCheck(); in order for change detection to fire correctly.

Where did you use ChangeDetectorRef ?

@mhumeniuk Within the subscribe function.
`this.usersService.getUsersPaged(this.currentPage).subscribe(data => {
        clearTimeout(this.timer);
        this.timer = setTimeout(() => {
            this.cd.markForCheck();
        }, 100);
    });`

And in my constructor.
constructor(private usersService: UsersService, private cd: ChangeDetectorRef) {
  }


 This can be easily changed if needed but on Android there are issues with what colors are displayed properly (I was going for gran for collected ones and did not get it to display properly - if need be we can use our custom pin).

This addresses issue https://github.com/johnneed/GreenUpVermont/issues/39


Template does not exist

I'm triying to use django-bootstrap4 in my project but I have a problem. If I send a form with errors when the view go to render fail.  The project  try to load a template but he doesn't find it, the template is bootstrap4/field_help_text_and_errors.html.
I follow the guide to use this but I don't have any idea that i'm making bad. I need to download the template and add this templates to my project?
Thanks and sorry for my english!

Howdy, welcome to Django and Bootstrap 4! Can you include your TEMPLATES setting from your settings file, and have you added bootstrap4 to your INSTALLED_APPS list in settings?

Hi @alerodrom! It looks like you might need some help getting set up. The best place to ask for help is StackOverflow. Please try to get your answer there. If you use tag django-bootstrap4, we'll be happy to answer over there.


Only serve offline HTML in response to GETs with Accept: text/html

The current fetch handler indiscriminately returns a Response with Content-Type: text/html whenever the network request fails and there's no entry in the cache.
I would recommend only returning that HTML content as a fallback in response to fetch events that specifically want HTML, by checking for a Accept: text/html header in the Request. You probably also want to only fall back to the default HTML content for HTTP GET requests.
You can see an example of that logic at https://github.com/GoogleChrome/samples/blob/gh-pages/service-worker/custom-offline-page/service-worker.js#L30
In your current implementation, a HTTP request for, e.g., an image would result in an invalid HTML response if the network was unavailable and that image wasn't already cached.
See also: https://jakearchibald.com/2014/offline-cookbook/#generic-fallback

@jeffposnick  Nicely caught. I appreciate the deep dive into the code itself. Thank you. :+1:
I'm not 100% sold on the GET requirement for UpUp, though.
What if a user is filling out a form, and loses connection. We can have the next page say something like "Your data wasn't saved" and below it include a prefilled form which he can simply submit again once he regains connection (I want UpUp to be able to let the page know when the connection is reestablished in a future version).

Thanks again @jeffposnick.
I just used this technique in PWABook.com and credited you for it.


Potentiometers instead of rotary encoders ?

Hi !
I'm wondering if it could be possible to put some potentiometers instead of the 4 rotary encoders in the corners (the good reference is impossible to find on the internet and I had the one with 2 more arms -or could I cut them ?- )
Thanks !

If you mean you got the "S0012" variant of the encoders, you're good to go. They have a "push button" feature, so they have the two more arms that are going to be short-circuited when you press the button, but given the "button" feature of the encoders is not used you can safely cut or bend them to fit on the board, and they will perform fine!

Ok thank you so much !


does this support powershell core?

can the documentation include clarity on powershell core, please?
looks like it fails with powershell core

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

ID: 02f1be79-2b3a-31da-7a7d-ace1eac5d1f1
Version Independent ID: fa7c7450-15a6-edc8-5671-f45763267ca6
Content: PowerShell support - Power Platform
Content Source: power-platform/admin/powerapps-powershell.md
Service: power-platform
GitHub Login: @jimholtz
Microsoft Alias: jimholtz

@mganeshphani
Sorry for the delayed response. This is likely no longer an issue. Please reopen if that is not the case.


[Bug]: error: subprocess-exited-with-error

Bug Description
Hello,Thanks for your good application.
I am connecting to a rental server via ssh. The shell is cshrc, sudo is not available.
Python3 is already installed,
When I do % python3 --version, I get Python 3.8.12,
Python 3.8.12 comes up.
When I try to install the python module llama_index with pip3, I get an error,
I got an error when installing numpy and rust.
I think I managed to install rust in my directory (under ~/.cargo/),
However, I am still getting the following error, so it does not seem to be working properly.
% pip3 list
Package            Version
------------------ ---------
aiohttp            3.8.4
aiosignal          1.3.1
async-timeout      4.0.2
attrs              23.1.0
blinker            1.6.2
certifi            2021.10.8
cffi               1.15.0
chardet            4.0.0
charset-normalizer 3.1.0
click              8.1.3
cryptography       2.9.2
Cython             0.29.35
fail2ban           0.11.2
Flask              2.3.2
Flask-Cors         3.0.10
frozenlist         1.3.3
idna               2.10
importlib-metadata 6.6.0
itsdangerous       2.1.2
Jinja2             3.1.2
MarkupSafe         2.1.2
multidict          6.0.4
numpy              1.24.3
openai             0.27.7
pip                23.1.2
pycparser          2.21
pyinotify          0.9.6
PyMySQL            1.0.2
pyOpenSSL          20.0.1
PySocks            1.7.1
requests           2.25.1
setuptools         57.0.0
six                1.16.0
sqlite3            0.0.0
tqdm               4.65.0
urllib3            1.26.7
versioneer         0.28
Werkzeug           2.3.4
wheel              0.40.0
yarl               1.9.2
zipp               3.15.0

Context for the issue:
I want to install and use llama_index(https://github.com/jerryjliu/llama_index) on my rental server, but an error occurs and I cannot use it.
By the way, I am trying to see if I can control the temporary directory that pip uses,
TMP=~/.var/tmp, but I am not sure if it is possible.
Version
I am using llama-index 0.5.2 locally (M1 mac). But on the rental server I am trying to install the latest version
Steps to Reproduce
I am connecting to a rental server via ssh. The shell is cshrc, sudo is not available.
Relevant Logs/Tracbacks
### Reproduce the code example:

pip3 install llama_index

### Error message:

Building wheels for collected packages: tiktoken
  Building wheel for tiktoken (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for tiktoken (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [52 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.freebsd-13.0-RELEASE-p13-amd64-cpython-38
      creating build/lib.freebsd-13.0-RELEASE-p13-amd64-cpython-38/tiktoken
      copying tiktoken/__init__.py -> build/lib.freebsd-13.0-RELEASE-p13-amd64-cpython-38/tiktoken
      copying tiktoken/core.py -> build/lib.freebsd-13.0-RELEASE-p13-amd64-cpython-38/tiktoken
      copying tiktoken/load.py -> build/lib.freebsd-13.0-RELEASE-p13-amd64-cpython-38/tiktoken
      copying tiktoken/model.py -> build/lib.freebsd-13.0-RELEASE-p13-amd64-cpython-38/tiktoken
      copying tiktoken/registry.py -> build/lib.freebsd-13.0-RELEASE-p13-amd64-cpython-38/tiktoken
      creating build/lib.freebsd-13.0-RELEASE-p13-amd64-cpython-38/tiktoken_ext
      copying tiktoken_ext/openai_public.py -> build/lib.freebsd-13.0-RELEASE-p13-amd64-cpython-38/tiktoken_ext
      running egg_info
      writing tiktoken.egg-info/PKG-INFO
      writing dependency_links to tiktoken.egg-info/dependency_links.txt
      writing requirements to tiktoken.egg-info/requires.txt
      writing top-level names to tiktoken.egg-info/top_level.txt
      reading manifest file 'tiktoken.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching 'Makefile'
      adding license file 'LICENSE'
      writing manifest file 'tiktoken.egg-info/SOURCES.txt'
      copying tiktoken/py.typed -> build/lib.freebsd-13.0-RELEASE-p13-amd64-cpython-38/tiktoken
      running build_ext
      running build_rust
          Updating crates.io index
         Compiling target-lexicon v0.12.7
         Compiling autocfg v1.1.0
         Compiling proc-macro2 v1.0.59
         Compiling once_cell v1.18.0
         Compiling memchr v2.5.0
         Compiling unicode-ident v1.0.9
         Compiling quote v1.0.28
         Compiling libc v0.2.145
           Running `rustc --crate-name build_script_build --edition=2018 /home/myname/.cargo/registry/src/index.crates.io-6f17d22bba15001f/target-lexicon-0.12.7/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' -C metadata=53ac526de1a70e41 -C extra-filename=-53ac526de1a70e41 --out-dir /var/tmp/pip-install-igps7zg1/tiktoken_d0cdc0f1bd114ce3bb2a252c41e4ba11/target/release/build/target-lexicon-53ac526de1a70e41 -L dependency=/var/tmp/pip-install-igps7zg1/tiktoken_d0cdc0f1bd114ce3bb2a252c41e4ba11/target/release/deps --cap-lints allow`
           ...

           Building wheels for collected packages: tiktoken
       Building wheel for tiktoken (pyproject.toml) ... error
       error: subprocess-exited-with-error

       × Building wheel for tiktoken (pyproject.toml) did not run successfully.
       │ exit code: 1
       ╰─> [52 lines of output]

       ...
       warning: build failed, waiting for other jobs to finish...
      cargo rustc --lib --message-format=json-render-diagnostics --manifest-path Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib --
      error: `cargo rustc --lib --message-format=json-render-diagnostics --manifest-path Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib --` failed with code 101
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for tiktoken
Failed to build tiktoken
ERROR: Could not build wheels for tiktoken, which is required to install pyproject.toml-based projects

Looks like the error is not related to llamaindex. maybe search around to see how others deal with the tiktoken error?

Going to close this for now, since it's related to tiktoken. Feel free to re-open though!


[tools] update tools schema

Proposed changes
update tools schema, tpcds table item bucket number changes to 32.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Different country codes in differents radios

OpenWRT sets a global regulatory domain for the full system and takes the last "country" defined in /etc/config/wireless as the regulatory domain.
In LuCI you can set a different country code per radio, but It could not take effect if you have more than one radio and the country code differs.
For example:
config wifi-device 'radio1'
	option type 'mac80211'
	option channel '11'
	option hwmode '11ng'
	option path 'platform/qca955x_wmac'
	option htmode 'HT20'
	option disabled '0'
	option country 'DE'

config wifi-device 'radio0'
	option type 'mac80211'
	option channel '40'
	option hwmode '11a'
	option path 'pci0000:00/0000:00:00.0'
	option htmode 'VHT80'
	option disabled '0'
	option country 'HK'

with this setup, DE country code will not take effect and the whole system operates in HK country code.
Would it be interesting for the country code to only be set once away from the radios, or when a new one is set on any of the radios, to be applied to all radios?

The configuration model in OpenWrt should be fixed first. I don't think it makes sense to workaround this in the gui.

It's not LuCI which has the problem but UCI itself.

Yes, you're right, but I can't think of any way to solve it in OpenWRT. Maybe creating a unique section in a UCI file for the country code?
Should I report the problem in the OpenWRT project?

I don't see a need to address this. One may just want to set different regdoms for different phys, and start different phys according to different situations. As long as phys aren't brought up together, everything would be fine.

Yes. Imho it would probably make sense to move the radio region settins into /etc/config/system as this is where the other locality settings are stored. But that is just a quick not fully thought through idea.

Closing this as there won't be any progress on the LuCI side. This is something that needs to be redefined in OpenWrt first.


New provider: Amazon Bedrock (AWS)

Feature description
Please include support for Amazon Bedrock models. These models can be from Amazon, Anthropic, AI21, Cohere, Mistral, or Meta Llama 2.
Your Feature

Create a new LLM Provides under metagpt/provider for Amazon Bedrock
Include it in the LLMType available

It might be supported later, and if possible, you can also provide a PR.

could you tell me when will metagpt add bedrock, and how to add provider by myself

about next week, you can refs any llm provider under metagpt/provider and complete methods from BaseLLM

Thank you very much and I look forward to your updates. I have just started to contact metagpt and I am still familiar with some concepts. I will read the code carefully.
I found another problem examples/rag_search.py can not run
it looks like the llama-index update cause
Traceback (most recent call last):
File "/Users/chosenlu/Job/Python/meta_gpt_agent_newst/user/rag_search/rag_search.py", line 7, in
from metagpt.rag.engines import SimpleEngine
File "/Users/chosenlu/Job/Python/meta_gpt_agent_newst/lib/python3.9/site-packages/metagpt/rag/engines/init.py", line 3, in
from metagpt.rag.engines.simple import SimpleEngine
File "/Users/chosenlu/Job/Python/meta_gpt_agent_newst/lib/python3.9/site-packages/metagpt/rag/engines/simple.py", line 31, in
from metagpt.rag.factories import (
File "/Users/chosenlu/Job/Python/meta_gpt_agent_newst/lib/python3.9/site-packages/metagpt/rag/factories/init.py", line 3, in
from metagpt.rag.factories.retriever import get_retriever
File "/Users/chosenlu/Job/Python/meta_gpt_agent_newst/lib/python3.9/site-packages/metagpt/rag/factories/retriever.py", line 15, in
from metagpt.rag.retrievers.bm25_retriever import DynamicBM25Retriever
File "/Users/chosenlu/Job/Python/meta_gpt_agent_newst/lib/python3.9/site-packages/metagpt/rag/retrievers/bm25_retriever.py", line 8, in
from llama_index.retrievers.bm25 import BM25Retriever
ModuleNotFoundError: No module named 'llama_index.retrievers'

I resolved
it looks like I need install:
pip install llama-index-retrievers-bm25
pip install llama-index-embeddings-azure-openai
pip install llama-index-llms-azure-openai
pip install llama-index-embeddings-gemini
pip install llama-index-embeddings-ollama

Yes, rag is extra module, so you need install it. You can ref to https://docs.deepwisdom.ai/main/en/guide/get_started/installation.html#install-submodules if meet problems.

Thank you！I still waiting the bedrock support，Is the bedrock ok now？

@chosenlu @dgallitelli
see the pr https://github.com/geekan/MetaGPT/pull/1231

Nice, thank you! I'll give it a try and provide some feedback. Quick question: are the Access key and Secret access key strict requirements? Or can they be inferred from environmental variables and therefore omitted in the LLM config?

@dgallitelli no, for now, you should config them in LLM config.

this is the sample code error message:
Input should be 'openai', 'anthropic', 'claude', 'spark', 'zhipuai', 'fireworks', 'open_llm', 'gemini', 'metagpt', 'azure', 'ollama', 'qianfan', 'dashscope', 'moonshot', 'mistral' or 'yi' [type=enum, input_value='bedrock', input_type=str]
why I am seeing no 'bedrock' support by now?

Use the main branch: https://docs.deepwisdom.ai/main/en/guide/get_started/configuration/llm_api_configuration.html


Update slider flow types to mark optional params optional

Fixes #1548
Description
Changes Flow type for Slider props to match TypeScript types and documentation.
Scope

[x] Patch: Bug Fix
[ ] Minor: New Feature
[ ] Major: Breaking Change

There's been an ongoing debate on how best to type the top-level interface of components. Flow recommends marking the fields as required if there are defaultProps provided
In what situation is this causing errors in your code?  That would help provide better evidence for coming to a conclusion on how to approach required vs optional

I don't understand the rationale behind marking things required when they have a default value. To me, that's exactly what optional means. As it stands, when I use <Slider /> I have to specify disabled={false} to prevent Flow from complaining. That doesn't seem desirable.
Cannot create Slider element because property disabled is missing in props [1] but exists in PropsT [2].

     src/components/map/datasources-modal.js
     103│           />
     104│         </FormControl>
     105│         <FormControl label="Slider">
 [1] 106│           <Slider
     107│             value={[datasource.opacity || 0]}
     108│             onChange={handleSliderChange('opacity')}
     109│           />
     110│         </FormControl>
     111│         <FormControl label="Environment">
     112│           <Input

     node_modules/baseui/slider/slider.js.flow
 [2]  36│ class Slider extends React.Component<PropsT> {

Oh, wait I see what you're saying now. Flow would stop complaining if disabled: false was added to defaultProps. So, two questions:

Do Flow and TypeScript differ on this, or should the ? be removed from index.d.ts?
Would you like me to update this PR to add disabled: false to defaultProps?

Do Flow and TypeScript differ on this, or should the ? be removed from index.d.ts?

I'm not personally experienced with typescript, but they seemingly are aligned

Would you like me to update this PR to add disabled: false to defaultProps instead of changing the types?

If adding to default props works, that would be preferable.

@shannonmoeller @chasestarr should we close this PR?

Sorry for the delay. Updated PR with default value for disabled coming up.

Nevermind. Looks like Vojtech already added the missing defaultProps.disabled value.


Support sending ACME challenge with proxy

1. What version of Caddy are you using (caddy -version)?
0.10.11
2. What are you trying to do?
To setup a HTTPS server through automatic HTTPS.
3. What is your entire Caddyfile?
mirrors-v2.sjtug.org {
    root /mnt
    tls {
        dns dnspod
    }
}

4.
In a docker container, with http{s}_proxy/DNSPOD_API_KEY configured. caddy -conf /Caddyfile.
5. Please paste any relevant HTTP request(s) here.
N/A
6. What did you expect to see?
The challenge-response process of ACME should be sent through given http{s}_proxy.
7. What did you see instead (give full error messages and/or log)?
caddy    | Email address: Activating privacy features...
caddy    | Your sites will be served over HTTPS automatically using Let's Encrypt.
caddy    | By continuing, you agree to the Let's Encrypt Subscriber Agreement at:
caddy    |   https://acme-v01.api.letsencrypt.org/terms
caddy    | Please enter your email address so you can recover your account if needed.
caddy    | You can leave it blank, but you'll lose the ability to recover your account.
caddy    | 2018/03/04 10:14:25 get directory at 'https://acme-v01.api.letsencrypt.org/directory': failed to get json "https://acme-v01.api.letsencrypt.org/directory": Get https://acme-v01.api.letsencrypt.org/directory: dial tcp <IP_ADDRESS>:443: i/o timeout
caddy    | Email address: caddy exited with code 1

8. How can someone who is starting from scratch reproduce the bug as minimally as possible?
Try caddy in networks where letsencrypt.org is blocked.

Hmm yes we should allow this. @xenolf I think Go supports proxy from environment, we can probably use that, right?

I can't find anything in Caddy that would be blocking this; my suggestion for now is to try taking this upstream to xenolf/lego and try completing a challenge using only lego itself, with your proxy configured in environment, and then see if that works. If not, then it should be an issue filed with lego. Thanks!


Fix currency and unit conversion

Fix #42 and fix #45 by removing the ZWD currency alias.
Also filter currency names (>= 3 chars, only letters and not colliding with existing units) to prevent bugs with new crypto currencies.
Note: The only exception is ETH which is allowed to override exathou because it's a very common crypto currency (and exathou is an almost unknown unit).

Glad ULauncher is based on Github - so I guess we can just replace the dead extension with your fork :)

It's a shame that the project maintainer looks like abandoned the project. This PR can't be merged because @nathan818fr is not an official contributor to the project. I had to manually copy and paste the changes in the code to make it work. This plugin is awesome and thanks @nathan818fr for the fix!!

That's why I suggested him to merge into his master, so we can use his fork instead of this zombie :)

I had some time to look into this.
I also found that ZWD was causing the issues but the underlying bug was in PintDefinitionParser._define_currency and more specifically at `definition = definition or 'nan currency EUR'
It should be definition = definition or 'nan currency_EUR' The problem with the space is that pint understands it as nan currency * EUR and tries to find the currency unit when activating the currency context.
I will upload a PR to fix this.

@nathan818fr  As far as the currency filtering, I would like to merge your first commit that filters currencies. Would you mind merging the current master and making a new PR with the filtering? Just make sure there is no need to filter out ZWD anymore unless overridden by a higher priority currency.

Fixed by #48 please feel free to post the currency filtering mechanism in a new PR.


[WFLY-7680] Reenable regression tests in MaximumPermissionsTestCase

JIRA: https://issues.jboss.org/browse/WFLY-7680
This commit re-enables ignored security manager tests after fixing WFLY-4882 in MaximumPermissionsTestCase class.

Failures look related to the PR

I'm going to check it.

I don't see a problem in my environment. I've just rebased the commit to latest master, lets see if it's enough.

Seems to be passing.

Retest this please


Add button to fetch data from server

From our offline discussion,

Please revert the latest commit to this branch and work on the delete functionality in a separate branch so that this PR is focused on one thing.

You can do this by using git revert if I'm not wrong. This will create a new commit that undoes your changes. Once this is done, create a new branch from this one and revert the 'undo commit', which will bring back your changes and you can continue working on it even while this PR is under review.

Regarding returning -1, let's go with throwing an IllegalArgumentException and try-catching it to validate the user input.

Seems like reverting your last commit also reverted the actual changes I requested in my previous review. Please re-add those changes (and only those changes)?


feat: add Tracing for Axum

It's something very simple... it could be improved later.

Thanks @FMFigueroa! Can you run cargo fmt please?

Thanks @FMFigueroa! Can you run cargo fmt please?

Sure.. Apology man..!


HADOOP-15984. Update jersey from 1.19 to 2.x (WIP)

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 41s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  4s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+0 :ok:
xmllint
0m  1s

xmllint was not available.

+0 :ok:
shelldocs
0m  1s

Shelldocs was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 60 new or modified test files.

_ trunk Compile Tests _

+0 :ok:
mvndep
15m 14s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
25m 29s

trunk passed

+1 :green_heart:
compile
23m 10s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
compile
20m 54s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+1 :green_heart:
checkstyle
5m  0s

trunk passed

+1 :green_heart:
mvnsite
19m 15s

trunk passed

+1 :green_heart:
javadoc
8m 14s

trunk passed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>

+1 :green_heart:
javadoc
7m 29s

trunk passed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

+0 :ok:
spotbugs
0m 36s

branch/hadoop-project no spotbugs output file (spotbugsXml.xml)

+0 :ok:
spotbugs
0m 44s

branch/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests no spotbugs output file (spotbugsXml.xml)

+0 :ok:
spotbugs
0m 44s

branch/hadoop-client-modules/hadoop-client-minicluster no spotbugs output file (spotbugsXml.xml)

+0 :ok:
spotbugs
0m 45s

branch/hadoop-cloud-storage-project/hadoop-cloud-storage no spotbugs output file (spotbugsXml.xml)

+1 :green_heart:
shadedclient
50m 35s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+0 :ok:
mvndep
1m 36s

Maven dependency ordering for patch

-1 :x:
mvninstall
1m 27s
/patch-mvninstall-hadoop-mapreduce-project_hadoop-mapreduce-client.txt
hadoop-mapreduce-client in the patch failed.

-1 :x:
mvninstall
0m 41s
/patch-mvninstall-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-app.txt
hadoop-mapreduce-client-app in the patch failed.

-1 :x:
mvninstall
0m 37s
/patch-mvninstall-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-hs.txt
hadoop-mapreduce-client-hs in the patch failed.

-1 :x:
mvninstall
0m 34s
/patch-mvninstall-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-timelineservice-hbase-tests.txt
hadoop-yarn-server-timelineservice-hbase-tests in the patch failed.

-1 :x:
mvninstall
0m 33s
/patch-mvninstall-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-router.txt
hadoop-yarn-server-router in the patch failed.

-1 :x:
mvninstall
0m 29s
/patch-mvninstall-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-applications_hadoop-yarn-applications-distributedshell.txt
hadoop-yarn-applications-distributedshell in the patch failed.

-1 :x:
mvninstall
0m 34s
/patch-mvninstall-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-applications_hadoop-yarn-services_hadoop-yarn-services-core.txt
hadoop-yarn-services-core in the patch failed.

-1 :x:
mvninstall
0m 31s
/patch-mvninstall-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-applications_hadoop-yarn-services_hadoop-yarn-services-api.txt
hadoop-yarn-services-api in the patch failed.

-1 :x:
mvninstall
0m 42s
/patch-mvninstall-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-applications_hadoop-yarn-applications-catalog_hadoop-yarn-applications-catalog-webapp.txt
hadoop-yarn-applications-catalog-webapp in the patch failed.

-1 :x:
mvninstall
1m 30s
/patch-mvninstall-hadoop-mapreduce-project.txt
hadoop-mapreduce-project in the patch failed.

-1 :x:
mvninstall
0m 35s
/patch-mvninstall-hadoop-tools_hadoop-resourceestimator.txt
hadoop-resourceestimator in the patch failed.

-1 :x:
mvninstall
9m  0s
/patch-mvninstall-root.txt
root in the patch failed.

-1 :x:
compile
3m 27s
/patch-compile-root-jdkPrivateBuild-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.txt
root in the patch failed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.

-1 :x:
javac
3m 27s
/patch-compile-root-jdkPrivateBuild-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.txt
root in the patch failed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.

-1 :x:
compile
11m  2s
/patch-compile-root-jdkPrivateBuild-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07.txt
root in the patch failed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07.

-1 :x:
javac
11m  2s
/patch-compile-root-jdkPrivateBuild-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07.txt
root in the patch failed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07.

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
3m 56s
/results-checkstyle-root.txt
root: The patch generated 40 new + 1178 unchanged - 59 fixed = 1218 total (was 1237)

-1 :x:
mvnsite
4m 48s
/patch-mvnsite-root.txt
root in the patch failed.

+1 :green_heart:
shellcheck
0m  0s

No new issues.

-1 :x:
javadoc
2m 15s
/patch-javadoc-root-jdkPrivateBuild-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.txt
root in the patch failed with JDK Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS>.

-1 :x:
javadoc
7m 22s
/patch-javadoc-root-jdkPrivateBuild-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07.txt
root in the patch failed with JDK Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07.

+0 :ok:
spotbugs
0m 34s

hadoop-project has no data from spotbugs

-1 :x:
spotbugs
2m  3s
/new-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-common.html
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)

+0 :ok:
spotbugs
0m 44s

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests has no data from spotbugs

-1 :x:
spotbugs
1m 23s
/new-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-client.html
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client generated 2 new + 0 unchanged - 0 fixed = 2 total (was 0)

-1 :x:
spotbugs
2m 31s
/patch-spotbugs-hadoop-mapreduce-project_hadoop-mapreduce-client.txt
hadoop-mapreduce-client in the patch failed.

-1 :x:
spotbugs
0m 46s
/patch-spotbugs-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-app.txt
hadoop-mapreduce-client-app in the patch failed.

-1 :x:
spotbugs
0m 47s
/patch-spotbugs-hadoop-mapreduce-project_hadoop-mapreduce-client_hadoop-mapreduce-client-hs.txt
hadoop-mapreduce-client-hs in the patch failed.

-1 :x:
spotbugs
0m 45s
/patch-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-timelineservice-hbase-tests.txt
hadoop-yarn-server-timelineservice-hbase-tests in the patch failed.

-1 :x:
spotbugs
0m 43s
/patch-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-router.txt
hadoop-yarn-server-router in the patch failed.

-1 :x:
spotbugs
0m 42s
/patch-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-applications_hadoop-yarn-applications-distributedshell.txt
hadoop-yarn-applications-distributedshell in the patch failed.

-1 :x:
spotbugs
0m 40s
/patch-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-applications_hadoop-yarn-services_hadoop-yarn-services-core.txt
hadoop-yarn-services-core in the patch failed.

-1 :x:
spotbugs
0m 38s
/patch-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-applications_hadoop-yarn-services_hadoop-yarn-services-api.txt
hadoop-yarn-services-api in the patch failed.

-1 :x:
spotbugs
0m 47s
/patch-spotbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-applications_hadoop-yarn-applications-catalog_hadoop-yarn-applications-catalog-webapp.txt
hadoop-yarn-applications-catalog-webapp in the patch failed.

-1 :x:
spotbugs
2m 16s
/patch-spotbugs-hadoop-mapreduce-project.txt
hadoop-mapreduce-project in the patch failed.

-1 :x:
spotbugs
0m 44s
/patch-spotbugs-hadoop-tools_hadoop-resourceestimator.txt
hadoop-resourceestimator in the patch failed.

+0 :ok:
spotbugs
0m 43s

hadoop-client-modules/hadoop-client-minicluster has no data from spotbugs

+0 :ok:
spotbugs
0m 42s

hadoop-cloud-storage-project/hadoop-cloud-storage has no data from spotbugs

-1 :x:
spotbugs
17m 49s
/patch-spotbugs-root.txt
root in the patch failed.

-1 :x:
shadedclient
10m  2s

patch has errors when building and testing our client artifacts.

_ Other Tests _

-1 :x:
unit
501m 42s
/patch-unit-root.txt
root in the patch failed.

+1 :green_heart:
asflicense
1m 49s

The patch does not generate ASF License warnings.

886m 32s

Reason
Tests

SpotBugs
module:hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common

Private method org.apache.hadoop.yarn.webapp.util.WebAppUtils.getURLEncodedQueryString(ContainerRequestContext, String) is never called  At WebAppUtils.java:never called  At WebAppUtils.java:[lines 563-572]

SpotBugs
module:hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client

Dead store to maxRetries in org.apache.hadoop.yarn.client.cli.LogsCLI.runCommand(String[])  At LogsCLI.java:org.apache.hadoop.yarn.client.cli.LogsCLI.runCommand(String[])  At LogsCLI.java:[line 218]

Dead store to retryInterval in org.apache.hadoop.yarn.client.cli.LogsCLI.runCommand(String[])  At LogsCLI.java:org.apache.hadoop.yarn.client.cli.LogsCLI.runCommand(String[])  At LogsCLI.java:[line 222]

Failed junit tests
hadoop.yarn.server.TestMiniYarnCluster

hadoop.yarn.server.resourcemanager.webapp.fairscheduler.TestRMWebServicesFairScheduler

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesSchedulerActivities

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesReservation

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesConfigurationMutation

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsCustomResourceTypes

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesHttpStaticUserPermissions

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServiceAppsNodelabel

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesSchedulerActivitiesWithMultiNodesEnabled

hadoop.yarn.server.resourcemanager.federation.TestFederationRMStateStoreService

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesNodes

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesDelegationTokenAuthentication

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesApps

hadoop.yarn.server.resourcemanager.webapp.fairscheduler.TestRMWebServicesFairSchedulerCustomResourceTypes

hadoop.yarn.server.resourcemanager.TestRMHA

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppCustomResourceTypes

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesCapacitySched

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesDelegationTokens

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesNodeLabels

hadoop.yarn.server.resourcemanager.metrics.TestSystemMetricsPublisher

hadoop.yarn.server.resourcemanager.metrics.TestCombinedSystemMetricsPublisher

hadoop.yarn.webapp.TestRMWithCSRFFilter

hadoop.yarn.server.resourcemanager.webapp.TestRMWebappAuthentication

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesForCSWithPartitions

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesContainers

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppAttempts

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServices

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification

hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesCapacitySchedDynamicConfig

hadoop.yarn.server.nodemanager.webapp.TestNMWebFilter

hadoop.yarn.server.nodemanager.webapp.TestNMWebServicesApps

hadoop.yarn.server.nodemanager.webapp.TestNMWebServicesAuxServices

hadoop.yarn.server.nodemanager.webapp.TestNMWebTerminal

hadoop.yarn.server.nodemanager.webapp.TestNMWebServicesContainers

hadoop.yarn.server.nodemanager.webapp.TestNMWebServices

hadoop.yarn.server.timelineservice.collector.TestPerNodeTimelineCollectorsAuxService

hadoop.yarn.server.timelineservice.reader.TestTimelineReaderServer

hadoop.yarn.server.timelineservice.reader.TestTimelineReaderWebServicesACL

hadoop.yarn.server.timelineservice.collector.TestNMTimelineCollectorManager

hadoop.yarn.server.timelineservice.reader.TestTimelineReaderWebServices

hadoop.yarn.server.applicationhistoryservice.TestApplicationHistoryServer

hadoop.yarn.server.timeline.webapp.TestTimelineWebServicesWithSSL

hadoop.yarn.server.timeline.security.TestTimelineAuthenticationFilterForV1

hadoop.yarn.server.timeline.webapp.TestTimelineWebServices

hadoop.yarn.server.applicationhistoryservice.webapp.TestAHSWebServices

hadoop.yarn.client.api.impl.TestTimelineClient

hadoop.yarn.webapp.util.TestWebServiceClient

hadoop.yarn.webapp.TestWebApp

hadoop.yarn.client.TestApplicationMasterServiceProtocolForTimelineV2

hadoop.yarn.client.cli.TestSchedConfCLI

hadoop.http.TestHttpServerLogs

hadoop.http.TestHttpServer

hadoop.hdfs.web.TestWebHdfsTokens

hadoop.hdfs.web.TestWebHdfsFileSystemContract

hadoop.fs.http.server.TestHttpFSServer

hadoop.fs.http.server.TestHttpFSServerNoACLs

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4612/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/4612

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient codespell detsecrets xmllint spotbugs checkstyle shellcheck shelldocs

uname
Linux 989b5fb552bc 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 518ccbaf57bf3e8bde72893046cc5d446930ea2d

Default Java
Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Private Build-11.0.15+10-Ubuntu-0ubuntu<IP_ADDRESS> /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_312-8u312-b07-0ubuntu1~20.04-b07

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4612/1/testReport/

Max. process+thread count
3150 (vs. ulimit of 5500)

modules
C: hadoop-project hadoop-common-project/hadoop-common hadoop-common-project/hadoop-kms hadoop-hdfs-project/hadoop-hdfs hadoop-hdfs-project/hadoop-hdfs-httpfs hadoop-hdfs-project/hadoop-hdfs-nfs hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-tests hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client hadoop-mapreduce-project/hadoop-mapreduce-client hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs hadoop-hdfs-project/hadoop-hdfs-rbf hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timeline-pluginstorage hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-common hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-api hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp hadoop-mapreduce-project/hadoop-mapreduce-examples hadoop-mapreduce-project hadoop-tools/hadoop-azure hadoop-tools/hadoop-resourceestimator hadoop-client-modules/hadoop-client-minicluster hadoop-cloud-storage-project/hadoop-cloud-storage . U: .

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-4612/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2 shellcheck=0.7.0

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.


Uptadate

Hi - you're making a pull request to make changes to this repository and I suspect you are trying to follow my instructions. I'm closing this


windows setup for ESP32 fails - python not found

I ran xs-dev setup for ESP32 and it reported success. With a fresh Moddable command prompt, the doctor command shows that the ESP-IDF is there.
>xs-dev doctor
xs-dev environment info:
  CLI Version                0.27.4
  OS                         Windows_NT
  Arch                       x64
  Shell                      Unknown
  NodeJS Version             v18.18.0 (C:\Program Files\nodejs\node.EXE)
  Python Version             Unavailable (C:\Users\Peter\xs-dev\moddable.BAT)
  Moddable SDK Version       4.1 (C:\Users\Peter\xs-dev\moddable)
  Supported target devices   win, esp32
  ESP32 IDF Directory        C:\Users\Peter\xs-dev\esp32\esp-idf

If this is related to an error when using the CLI, please create an issue at "https://github.com/hipsterbrown/xs-dev/issues/new" with the above info.

However, it fails to build helloworld because it cannot find Python.
>xs-dev run --example helloworld --device esp32
\ Building and deploying project C:\Users\Peter\xs-dev\moddable\examples\helloworld on esp32
| Building and deploying project C:\Users\Peter\xs-dev\moddable\examples\helloworld on esp32
Using Python in C:\Users\Peter\xs-dev\esp32\esp-idf\
'null' is not recognized as an internal or external command,
operable program or batch file.
Using Git in C:\Espressif\tools\idf-git\2.34.2\cmd\
/ Building and deploying project C:\Users\Peter\xs-dev\moddable\examples\helloworld on esp32

Error: The following tools are not installed in your environment.

  python

Please use the Windows Tool installer for setting up your environment.
Download link: https://dl.espressif.com/dl/esp-idf/
For more details please visit our website: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/windo\ Building and deploying project C:\Users\Peter\xs-dev\moddable\examples\helloworld on esp32
Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings

Running python without any arguments launches the Windows Store to install it. I didn't try that as I'm pretty sure that the ESP-IDF already includes its preferred Python version.

When launching the Moddable command prompt, the following message is displayed. Just FYI.
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.7.4
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x86'
Setting PYTHONNOUSERSITE, was not set
Using Python in C:\Users\Peter\xs-dev\esp32\esp-idf\
'null' is not recognized as an internal or external command,
operable program or batch file.
Using Git in C:\Espressif\tools\idf-git\2.34.2\cmd\
git version 2.34.1.windows.1

Error: The following tools are not installed in your environment.

  python

I see that the Python version is not found when running xs-dev doctor in the fresh Moddable command prompt: Python Version             Unavailable (C:\Users\Peter\xs-dev\moddable.BAT)
It's my understanding that the ESP-IDF should be providing its vendored version of Python as well. The message when running the hello world example appears to come from the esp-idf script to determine which Python version to use:
Using Python in C:\Users\Peter\xs-dev\esp32\esp-idf\
'null' is not recognized as an internal or external command,
operable program or batch file.

The code for calling the esp-idf installer on Windows can be found here: https://github.com/HipsterBrown/xs-dev/blob/main/src/toolbox/setup/esp32/windows.ts#L11
cc @andycarle

Curious. I'll be able to take a solid look at this early next week.

So far I'm not able to reproduce this. But I have a decent idea of how it could happen.
When I start fresh with xs-dev setup and xs-dev setup --device=esp32, I get this from xs-dev doctor:
xs-dev environment info:
  CLI Version                0.27.5
  OS                         Windows_NT
  Arch                       x64
  Shell                      Unknown
  NodeJS Version             v18.16.1 (C:\Program Files\nodejs\node.EXE)
  Python Version             3.8.7 (C:\Espressif\python_env\idf4.4_py3.8_env\Scripts\python.EXE)
  Moddable SDK Version       4.2.0 (C:\Users\andyc\xs-dev\moddable)
  Supported target devices   win, esp32
  ESP32 IDF Directory        C:\Users\andyc\xs-dev\esp32\esp-idf

My bet is that the Espressif Tools installer did not successfully run on @phoddie's system. That would cause the Espressif Python virtual environment to be missing when the ESP-IDF environment batch file runs.
I'm going to try to get my system to a cleaner state (without those tools pre-existing) to chase this further.

@phoddie Do you happen to recall if this part of the process completed successfully on your machine:

I'm seeing some issues on my machine with the Espressif installer. Basically, it is having trouble overwriting my old version that I "removed" (apparently incompletely) with the Espressif uninstaller.


[New game]: Cosmic Blast

🎮 Game Request
A game about saving the planet earth from the incoming asteroids by clicking by blasting the asteroids. Asteroids are spawned randomly from the top of the screen and move towards the bottom of the screen where our planet Earth is located. Destroy the asteroids before reaching and colliding with the Earth to increase your score.
Point down the features
Random spawn of asteroids, on clicking the asteroids, they are blasted increasing the score of the player. Blasting the asteroids everytime gives a background music of blasting. User-friendly addictive game. Can you beat the high score? Let's begin!
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

I want to know more about your idea so that i can plan my work accordingly

Hey mentor, i can complete this task. I want to know more about your idea so that i can plan my work accordingly

I have already made this game and it is ready to integrate. Would love to collaborate with some new ideas!

Hey @vansh-codes ! , This issue is already assigned to @vansh-codes. 💗
You can work on other issues 🚀
If there is anything wrong you can contact us on Discord🕹👀

Hey @vansh-codes ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


codeql failure

codeql fails to scan code

https://github.com/threefoldtech/tfgrid-sdk-go/security

@AbdelrahmanElawady what did you do -_-

@xmonader I did not know our code was that bad

The reason for the issue is explained here. It is fixed now and runs with no errors: https://github.com/threefoldtech/tfgrid-sdk-go/actions/runs/8464114977/job/23188181063


attempt to handle changes to ipfs swarm peers api

so obviously i don't javascript, but these tests failing my CI is getting old so i've made an effort.
Can someone who knows what they are doing help out here?
cc @diasdavid @dignifiedquire @VictorBjelkholm

thanks @whyrusleeping will take a look later today

Ready for review and merge

Additional tests are in https://github.com/ipfs/interface-ipfs-core/pull/94

thank you @dignifiedquire
So, since we need to provide the same api for js-ipfs and js-ipfs-api and having two return types is weird, the best is just to level up js-ipfs to the latest go-ipfs swarm peers API and make js-ipfs-api always return the same thing, of course that with the caveat that when contacting a go-ipfs 0.4.4 node, some of the properties will be undefined.

@diasdavid updated both PRs.

👍 now just needs an update on js-ipfs ipfs.swarm.peers

@diasdavid js-ipfs PR https://github.com/ipfs/js-ipfs/pull/600

Tests pass locally, everything LG

@diasdavid can we ship this?

Ship it! :)


Update MathCATPreferences.py to support language variants

Populate the language list box with variants if there are subfolders for languages.

I tested the code by modifying my current installation with this subroutine and adding subfolders GB and US to the en folder.

Examples of how the options are displayed in the dialog:

English (en)
English (en-gb)
English (en-US)
It should be possible accommodate "Chinese, Simplified (zh-cn)" and "Chinese, Traditional (zh-tw)", I will look into that.


Fatal Exception: io.fotoapparat.hardware.CameraException java.lang.RuntimeException: Fail to connect to camera service

Hi
One of our users is getting these crashes whilst trying to use the camera.
Phone model: HTC One mini 2
Android version: 4.4.2
Stack trace 1:
Fatal Exception: io.fotoapparat.hardware.CameraException: java.lang.RuntimeException: Fail to connect to camera service
at io.fotoapparat.hardware.v1.Camera1.open(Camera1.java:63)
at io.fotoapparat.routine.StartCameraRoutine.run(StartCameraRoutine.java:39)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:864)
Caused by java.lang.RuntimeException: Fail to connect to camera service
at android.hardware.Camera.native_setup(Camera.java)
at android.hardware.Camera.(Camera.java:549)
at android.hardware.Camera.open(Camera.java:424)
at io.fotoapparat.hardware.v1.Camera1.open(Camera1.java:60)
at io.fotoapparat.routine.StartCameraRoutine.run(StartCameraRoutine.java:39)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:864)
Stack trace 2:
Fatal Exception: java.lang.NullPointerException
at io.fotoapparat.hardware.v1.Camera1.stopPreview(Camera1.java:123)
at io.fotoapparat.routine.StopCameraRoutine.run(StopCameraRoutine.java:18)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:864)

Hi, thanks for the report!
Few generic questions which should help us to analyze the problem:

Is issue reproducible? If yes, how easy is it to reproduce?
If app just crashes in 100% of the cases for this device, do other camera apps work? Sometimes it can be that camera hardware stops working in all apps. Restarting the device should help.
Do you have more related crashes on the same type of the device? Or is it just this one user?

In the meanwhile, please try updating to 1.0.3. It will not fix the problem itself, but it will include more information into exception's message.

1.   Is issue reproducible? If yes, how easy is it to reproduce?
Completely reproducible. Happens every time you try to use the camera on said phone.
2.   If app just crashes in 100% of the cases for this device, do other camera apps work? Sometimes it can be that camera hardware stops working in all apps. Restarting the device should help.
Yes. It was working previously with another camera library (https://github.com/gogopop/CameraKit-Android) which we decided to swap out to fix intermittent crashes.
3.   Do you have more related crashes on the same type of the device? Or is it just this one user?
Yes. It has also crashed on a Samsung SM-G900F as well as Huawei Ascend Y330. A new stack trace for version 1.0.2
Fatal Exception: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: startPreview failed
at io.fotoapparat.result.PendingResult.getResultUnsafe(PendingResult.java:129)
at io.fotoapparat.result.PendingResult.access$100(PendingResult.java:20)
at io.fotoapparat.result.PendingResult$2.run(PendingResult.java:98)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: startPreview failed
at java.util.concurrent.FutureTask.report(FutureTask.java:94)
at java.util.concurrent.FutureTask.get(FutureTask.java:164)
at io.fotoapparat.result.PendingResult.getResultUnsafe(PendingResult.java:127)
at io.fotoapparat.result.PendingResult.access$100(PendingResult.java:20)
at io.fotoapparat.result.PendingResult$2.run(PendingResult.java:98)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by java.util.concurrent.ExecutionException: java.lang.RuntimeException: startPreview failed
at java.util.concurrent.FutureTask.report(FutureTask.java:94)
at java.util.concurrent.FutureTask.get(FutureTask.java:164)
at io.fotoapparat.result.PendingResult$1.call(PendingResult.java:56)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by java.lang.RuntimeException: startPreview failed
at android.hardware.Camera.startPreview(Camera.java)
at io.fotoapparat.hardware.v1.Camera1.startPreview(Camera1.java:116)
at io.fotoapparat.routine.TakePictureTask$1.call(TakePictureTask.java:34)
at io.fotoapparat.routine.TakePictureTask$1.call(TakePictureTask.java:16)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)

It's rather easy to reproduce this on any device. Just turn on the flashlight, then go to your app that uses Fotoapparat. I doubt that was what happened in those other instances, but documentation of Camera.open(int) tells you that it throws a:

RuntimeException - if opening the camera fails (for example, if the camera is in use by another process or device policy manager has disabled the camera).

I don't see how I can prevent my app from crashing in that scenario, as a consumer of the Fotoapparat API.

@arekolek thanks for the suggestion. I can't really reproduce it on Samsung S7 Edge, but I will try to find other devices.
Either way, if what you describe is true - we can't really provide an access to camera, but we can at least allow you to handle the error yourself.

I am closing it in favor of #55
From what I can tell now - a camera just can't be opened because the system does not allow us to do so. We pass exactly 1 parameter, so there is not much we can do wrong. When there will be more information available, we'll reopen it.


Release 0.13  (Axum 0.7 Support)

Any idea when to expect a new release? Axum 0.7 support is working and it would be nice to be able to pull in aide from crates.io.
Are there any specific blockers?

no blockers, just didn't have time yet.


Prevent OLED burn in

After some month of operation, some of the OLED shows burn in effects, if the same text is displayed with high brightness. To prevent this, it should be possible to lower brightness or the display is inverted after a couple of hours.

you can set the display option always_on to false, in this case the display will just be turned on in special cases.
https://github.com/lora-aprs/LoRa_APRS_iGate/blob/a599edabe29adea1ed0b08aff77cee505f5a4d14/data/is-cfg.json#L55


PromiseKit Result and Alamofire Result ambiguous

PromiseKit version: 4.0
Xcode version: 8.2.1
CocoaPods version: 1.1.1

import PromiseKit
import Alamofire

func myRequest() -> Promise<[Result<UIImage>]> {
    .......
}

When import two modules, 'Result' is ambiguous for type lookup in this context
fix it?

Specify PromiseKit.Result.

import PromiseKit
import Alamofire

func requestPromiseForGetPortfolioImages(imageUrls: [String]) -> Promise<[Result<UIImage>]>  {
    let promises = imageUrls.map { (imageUrl) -> Promise<UIImage> in
        return Promise { fulfill, reject in
            FTAPIManager.sharedInstance.requestIgnoringCacheImage(imageUrl, { (image, error) in
                if image != nil {
                    fulfill(image!)
                }else {
                    reject(error!)
                }
            })
        }
    }
    return when(resolved: promises)
}

The above code is my sample code.
I think it does not seem to support PromiseKit.Result
Please check. and fix it :)

K since you are using the resolved variant of when you have to specify `PromiseKit.Result’. This is your fix.

Specifically:
import PromiseKit
import Alamofire

func requestGetAllImages(imageUrls: [String]) -> Promise<[PromiseKit.Result<UIImage>]>  {
    let promises = imageUrls.map { (imageUrl) -> Promise<UIImage> in
        return Promise { fulfill, reject in
            FTAPIManager.sharedInstance.requestIgnoringCacheImage(imageUrl, { (image, error) in
                if image != nil {
                    fulfill(image!)
                }else {
                    reject(error!)
                }
            })
        }
    }
    return when(resolved: promises)
}

And here's the same using wrap, which is what our documentation recommends:
import PromiseKit
import Alamofire

func requestGetAllImages(imageUrls: [String]) -> Promise<[Result<UIImage>]>  {
    let promises = imageUrls.map { imageUrl -> Promise<UIImage> in
        PromiseKit.wrap{ FTAPIManager.sharedInstance.requestIgnoringCacheImage(imageUrl, $0) }
    }
    return when(resolved: promises)
}

Thank you for your reply and resolved. 👍

np, and sorry, I hate this sort of thing, but this is how we are meant to do this I believe, so this ambiguity is inevitable.
Let us know if you have any other problems.

if the code is
public func start() -> Promise {
return PromiseKit.wrap(start)
}
how to translate this code?
you should comment this in the docs - PromiseKit.wrap
there's a sea of this usage on github
https://github.com/search?p=2&q=PromiseKit.wrap&ref=opensearch&type=Code
it should be added to readme as breaking change and included as a removed function in code.
I've wasted a couple of hours on this.
Cannot convert value of type 'Resolver<_>' to expected argument type '(Error?, User?) -> ()'

https://gist.github.com/johndpope/26589589d4c38dd47302d4d7ec7c3306

Please open a new ticket at https://github.com/mxcl/PromiseKit.
Sorry for your wasted time, but it is very hard to do this stuff, this was literally months of work and you did not have to upgrade to the new major version that was just released, that was your choice.

Sorry to hear about closure  woes. Not to add salt to wounds, but supposedly Flat map is deprecated.... does googles’ promise iOS framework suffer same problems I wonder.
FYI - projects I’m using are based on Carthage and think the file didn’t lock a specific version. Will look into downgrading.
It would be nice to include this link in source code / readme with BOLD Breaking changes as there are so many >2500 repos and developers that any help to upgrade the old code to new would go a long way. I’m on train now, will attempt downgrade tomorrow or raise ticket to refactor.

I've added wrap as a deprecated function coming in 6.0.1 to be released today. Sorry I overlooked this.

Flat map is deprecated..

No, it's not.

It would be nice to include this link in source code / readme with BOLD Breaking changes as there are so many >2500 repos and developers that any help to upgrade the old code to new would go a long way. I’m on train now, will attempt downgrade tomorrow or raise ticket to refactor.

The README includes the migration guide. When migrating it is generally recommended to read the provided migration guide. Thanks.

FYI - projects I’m using are based on Carthage and think the file didn’t lock a specific version. Will look into downgrading.

Locking with Carthage is possible and recommended by everyone, I suggest you do it in future to avoid the consequences of not doing it: Specifically your entire problem.


Settings toggles not 'Toggling'

Notifications aren't toggling, when I click them, i get a small blue border faded thing, and they don't toggle.
Running on Ubuntu Gnome 15.10 using the cross-gitify branch.

Closing because :shrug:


Fix typo in doc of Dream.router

This fixes a small typo in the documentation of Dream.router.
Dream.param takes the request as first argument, then the request, whereas the doc has reversed the arguments

Thank you!


[Suggestion] Display the resource group name consistently with the changed web app name

OS: Mac
Build Version: 20200618.1
.NET Core: 2.1
Repro Steps:

F1 --> Type and select "Azure App Service: Create New Web App... (Advanced)".
Enter a valid name with "test1" --> Press "Enter" --> Select "+Create new resource group" --> The default name of resource group is "test1" --> Click "Back" button --> Click "Back" button --> Change the web app name with "test2" --> Press "Enter" --> Select "+Create new resource group".
Check the resource group name.

Actual:
Display the first name "test1" rather than changed name "test2".
Suggestion:
Display the changed name "test2".

We might be able to only cache the value if they changed from the default


DockerHub functional user should use restricted token

https://docs.docker.com/docker-hub/access-tokens/
Set the access permissions. The access permissions are scopes that set restrictions in your repositories. For example, for Read & Write permissions, an automation pipeline can build an image and then push it to a repository. However, it can not delete the repository.

@docktermj added DOCKERHUB_ACCESS_TOKEN to action/dependabot org secrets with an access token generated by our functional dockerhub user. Permissions are restricted to read+write.
I will start updating all docker builds to consume the new token.


default parameterization template should use triggerSuffix:int

 "Microsoft.DataFactory/factories/triggers": {
        "properties": {
            "typeProperties": {
                "recurrence": {
                    "*": "=",
                    "interval": "=:triggerSuffix:number",
                    "frequency": "=:-freq"
                },
                "maxConcurrency": "="
            }
        }
    }

The default parameterization template is using "triggerSuffix:number" - when deploying, I was getting the following error:
The request content was invalid and could not be deserialized: 'Error converting value "number" to type 'Azure.ResourceManager.Deployments.Core.Entities.TemplateParameterType'.
I believe the default parameterization template should be updated to read "triggerSuffix:int".

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

ID: 1e22e4d6-366f-fbf8-e141-8905ca7ab7ae
Version Independent ID: 5be2acf2-66e7-cadf-6666-5a85a65b9771
Content: Continuous integration and delivery in Azure Data Factory - Azure Data Factory
Content Source: articles/data-factory/continuous-integration-deployment.md
Service: data-factory
GitHub Login: @djpmsft
Microsoft Alias: daperlov

@rdlucas2 - Thanks for posting the issue. We are looking into it and will update you shortly.

@rdlucas2 - I was able to use below code and make release successful. I think issue is with next screenshot you shared on defining parameters, I think it has to be int there. Please share more details for us to investigate further. Thanks!
 "Microsoft.DataFactory/factories/triggers": {         "properties": {             "typeProperties": {                 "recurrence": {                     "*": "=",                     "interval": "=:triggerSuffix:number",                     "frequency": "=:-freq"                 },                 "maxConcurrency": "="             }         }     }

Make any trigger on a datafactory - the update is made on the collaboration branch.
Use the "publish" feature to generate deployable ARM to the adf_publish branch, where CI/CD with azure devops build and release pipelines pickup the ARM in adf_publish and run an ARM template deployment to the same datafactory, and to another datafactory in a different environment.
The interval field is parameterized based on what is in the default parameterization template. Based on the template, the type just be "number".
The generated ARM in adf_publish sets the type as number, which according to vscode linter for ARM in second screenshot is invalid.
When running the pipeline the error is also thrown stating there's an issue with the type.

@rdlucas2 - As per the document, the template from parameterization can be found in the root folder and not in "adf_publish" branch as below. Please use this template for modifications and suggest for any issues.

Right, when you save the changes to the parameterization template it does add the file to the collaboration branch. But the issue isn't with saving the parameterization template.
It's when you go to publish that the type for that parameter is set to "number" instead of "int". Then trying to deploy the ARM template with the wrong type throws the error.

@rdlucas2 - Surprisingly, I don't see the parameter created for interval value in ARMTemplateForFactory.json.

So your generated ARM isn't using the default parameterization template when you go to publish, if those values are not parameterized. The first screenshot is the beginning of the ARM template. The type for a parameter is set in the "parameters" section of the ARM template. Screenshot 2 shows the interval parameterized (correctly with int instead of number). The third screenshot shows where the parameterization is used defining the trigger resource in the ARM. The last screenshot is the parameters file with the value as a number or int instead of string or object or some other type.

Also for reference, the parameters definition file in azure devops source control and the datafactory - again, the updated value "int" is used instead of "number" so the deployment doesn't fail.

Some additional information on the pipeline and the error during deployment.

Ah, also... it seems I was using the "Sample Parameterization Template":

I suppose the DEFAULT one is fine.

@rdlucas2 - Thanks for sharing additional details. I am moving it to content author to add their suggestions and thoughts on the issue.
@djpmsft - Can you please take a look and suggest your thoughts on this.

https://github.com/MicrosoftDocs/azure-docs/pull/67134#issuecomment-738576941 just found the docs and made a PR to update them with my proposed fix.


Clownspider corpses can open bolted doors

Description

Clownspider corpses have a PryingComponent with Force and PryPowered both true, making them more powerful than a jaws of life.
Same is true for the corpses of regular spiders, zombies, and xenos.
Reproduction

Grab a corpse and click on the door you want to access.
Screenshots

https://github.com/user-attachments/assets/a68aabf6-5aad-4f57-ad9e-e9030fe283c4
Additional context

dupe of https://github.com/space-wizards/space-station-14/issues/30157

Yup, didn't see that in a search. Thanks


case sensitive 'Kind' key

That is really strange. But today after upgrade kubeless to version 0.6.0 serverless deploy started to fail with error:
Message: Object 'Kind' is missing in '{"object":{"apiVersion":"kubeless.io/v1beta1","kind":"Function","metada
After I've renamed key from kind to Kind it back to normal again. Can you please help me to understand is it a right fix or the problem is somewhere else. We use kubernetes versions
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.0", GitCommit:"925c127ec6b946659ad0fd596fa959be43f0cc05", GitTreeState:"clean", BuildDate:"2017-12-15T21:07:38Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.16", GitCommit:"e8846c1d7e7e632d4bd5ed46160eff3dc4c993c5", GitTreeState:"clean", BuildDate:"2018-04-04T08:47:13Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

mm, that's weird, in the CI is happening the opposite, now that you have changed it for Kind it fails with:
  Code: 500
  Message: Object 'Kind' is missing in 'object has no kind field '

can you try to upgrade/reinstall serverless and the kubeless plugin? We haven't changed the API for the Function object in 0.6.0 so apparently the issue is not related to the Kubeless upgrade.

It is a client-side error so it could be. If the above doesn't work you, can try with the version 0.4.0 of the plugin instead of 0.4.1? Maybe the latest version includes an update that makes it not compatible with Kubernetes 1.7.

I've tried version 0.4.0 and it works there.

Actually, I've tested more and it still broken the same way =(. I'll try to reinstall everything.

Sorry for bothering  you. But it works now. I've reinstall plugin, cleared all caches, removed function from cluster and deployed it again

I'm glad it finally worked :)


Statistics Performance counter is not working

The statistics performance counters are not working. They do not print any values and  the application does not terminate.
Sample command line to reproduce:
srun -p ariel -N 1 -n 1  ./1d_stencil_8 --nx=100 --nt=100000  --hpx:threads=16  --hpx:cores=16  --hpx:print-counter=/statistics{/runtime{locality#0/total}/io/write_bytes_cancelled}/average@2000
Localities,OS_Threads,Execution_Time_sec,Points_per_Partition,Partitions,Time_Steps
1,     16,    20.521090545, 100,                  10,                   100000
(This does not terminate and we do not see any output from the statistics performance counter)
HPX was compiled with the following flags:
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_CXX_COMPILER=icpc
-DCMAKE_CXX_FLAGS='-w'
-DCMAKE_C_COMPILER=icc
-DMPI_CXX_COMPILER=mpiicpc
-DMPI_C_COMPILER=mpiicc
-DHPX_WITH_THREAD_IDLE_RATES=ON
-DHPX_WITH_MALLOC="jemalloc"
-DHPX_WITH_HWLOC=ON
-DCMAKE_INSTALL_PREFIX=$INSTALL_PATH
-DHPX_WITH_PARCELPORT_MPI=ON
-DBOOST_ROOT=/home/bwagle/Packages/boost/install
-DHPX_WITH_PARCELPORT_MPI_MULTITHREADED=ON
-DHPX_WITH_ITTNOTIFY=ON
-DAMPLIFIER_ROOT=/opt/eb/software/VTune/2017_update1/vtune_amplifier_xe
-DHPX_WITH_GOOGLE_PERFTOOLS=ON
-DHPX_WITH_EXAMPLES=ON
-DHPX_WITH_DATAPAR_VC_NO_LIBRARY=ON
-DVc_ROOT=/home/bwagle/Packages/vcmaster/install
-DHPX_WITH_DATAPAR_VC=ON \

Do you have the syntax correct. I haven’t done this in quite a while but my past scripts have something of the form:
/arithmetics/add@/{papi …
so I’m thinking it should be /statistics/average{
but then you should have gotten an error.
Pat
On May 31, 2017, at 8:50 AM, Bibek Wagle <notifications<EMAIL_ADDRESS>wrote:
The statistics performance counters are not working. They do not print any values and the application does not terminate.
Sample command line to reproduce:
srun -p ariel -N 1 -n 1 ./1d_stencil_8 --nx=100 --nt=100000 --hpx:threads=16 --hpx:cores=16 --hpx:print-counter=/statistics{/runtime{locality#0/total}/io/write_bytes_cancelled}/average@2000
Localities,OS_Threads,Execution_Time_sec,Points_per_Partition,Partitions,Time_Steps
1, 16, 20.521090545, 100, 10, 100000
(This does not terminate and we do not see any output from the statistics performance counter)
HPX was compiled with the following flags:
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_CXX_COMPILER=icpc
-DCMAKE_CXX_FLAGS='-w'
-DCMAKE_C_COMPILER=icc
-DMPI_CXX_COMPILER=mpiicpc
-DMPI_C_COMPILER=mpiicc
-DHPX_WITH_THREAD_IDLE_RATES=ON
-DHPX_WITH_MALLOC="jemalloc"
-DHPX_WITH_HWLOC=ON
-DCMAKE_INSTALL_PREFIX=$INSTALL_PATH
-DHPX_WITH_PARCELPORT_MPI=ON
-DBOOST_ROOT=/home/bwagle/Packages/boost/install
-DHPX_WITH_PARCELPORT_MPI_MULTITHREADED=ON
-DHPX_WITH_ITTNOTIFY=ON
-DAMPLIFIER_ROOT=/opt/eb/software/VTune/2017_update1/vtune_amplifier_xe
-DHPX_WITH_GOOGLE_PERFTOOLS=ON
-DHPX_WITH_EXAMPLES=ON
-DHPX_WITH_DATAPAR_VC_NO_LIBRARY=ON
-DVc_ROOT=/home/bwagle/Packages/vcmaster/install
-DHPX_WITH_DATAPAR_VC=ON \
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/STEllAR-GROUP/hpx/issues/2666, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACW806VXhcHns_nUP9sWF8aawyx587v5ks5r_X4ggaJpZM4Nrvp_.

@pagrubel the syntax is correct for this counter.

Nice to know
On May 31, 2017, at 7:18 PM, Hartmut Kaiser <notifications<EMAIL_ADDRESS>wrote:
@pagrubelhttps://github.com/pagrubel the syntax is correct for this counter.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/STEllAR-GROUP/hpx/issues/2666#issuecomment-305361928, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACW805HhRhqOQcZV8Pcqslq8aeAhRn6Jks5r_hFdgaJpZM4Nrvp_.


[WIP] markdown: Render ordered lists using  markup.

I couldn't quite figured out how to set the tab length in markedjs yet. It considers a block with one single space before the number a nested item.
FYI @aero31aero
Fixes #12822

The markdown spec doesn't have auto renumbering.

Hey, this looks great. Just a minor bug I got while testing:
1. Here
 2. There
3. Everywhere

This text would generate a nested list in marked but a linear one in bugdown. Adding two spaces before 2. There results in identical behavior.

Hey @aero31aero I can reproduce this when there is a single space before 2. but not when there are two spaces.

Just to provide some background, auto-renumbering is a feature of python-markdown upstream; unfortunately, it's overly aggressive (restarting every numbered list to start with 1, regardless of spacing in between or the fact you might be splitting a list across multiple Zulip messages).  That issue is the reason we need to do our own thing here.

@PentaHiggs @andersk this is probably something that'd benefit from a careful look by folks who have worked with markdown a good amount.  Our intent for Zulip's behavior is to diverge from the older upstream markdown processors in a few ways:

If there's a paragraph between two lists, treating the two lists independently for purposes of numbering.
Not turning e.g. 3,4,5 into 1,2,3.
Not doing weird mixing of numbers and bulleted list syntax.
Potentially up for debate is our behavior of only triggering the olist/automatic renumber bejavior if an unbroken list has the numbers all being 1., which avoids 3, 4, 7 -> 3, 4, 5, which can surprise some users.

See https://github.com/zulip/zulip/issues/5159 for some background.
Because the old markdown processor default behavior was bad for other users and a lot of time has passed, I suspect that we might not need to implement this ourselves.
Indeed, based on https://johnmacfarlane.net/babelmark2/?normalize=1&text=2.+hi
3.+yes
4.+no

test

8.+foo

, it sorta looks like the upstream marked behavior might be close to correct in that they've fixed at least the first 2 issues, and possibly the third (didn't test).
For the backend, we should look at whether https://python-markdown.github.io/extensions/sane_lists/ does what we need; it sounds like it might do the same thing as marked on this issue.

If there's a paragraph between two lists, treating the two lists independently for purposes of numbering.

CommonMark says:
1. foo
1. bar

a paragraph between

1. baz
1. quux

gives you independent lists (1, 2, 1, 2).
1. foo
1. bar

1. baz
1. quux

is a single list (1, 2, 3, 4), but it’s a list of paragraphs, rather than a list of lines, as a consequence of the rules for multi-paragraph list items:
1. paragraph

   paragraph

2. paragraph

   paragraph

Not turning e.g. 3,4,5 into 1,2,3.

CommonMark agrees: the first item has its number preserved, and subsequent items are renumbered consecutively.

Not doing weird mixing of numbers and bulleted list syntax.

CommonMark agrees:
1. foo
* bar
1. baz
* quux

are the four independent lists you expect.

Potentially up for debate is our behavior of only triggering the olist/automatic renumber bejavior if an unbroken list has the numbers all being 1., which avoids 3, 4, 7 -> 3, 4, 5, which can surprise some users.

CommonMark disagrees: it renumbers 3, 4, 7 ↦ 3, 4, 5. I would argue that even renumbering 1, 1, 1 is surprising, but if you want that behavior, you have to draw the line somewhere.
It is possible to break a list into multiple lists by changing the delimeter:
3. foo
4. bar
7) baz

in which case the independent starting numbers are preserved. It’s also possible to escape a delimeter (7\.) to avoid reinterpretation entirely (when we reenable the escape syntax, which we should).
I would argue that the CommonMark rules are good enough that we should value consistency with the standard more than whatever further differences of opinion we might have here.

Ok so sounds like we should use upstream marked and python-markdown+sane list. This will fix the first 3 issues listed by Tim above for python-markdown and first 2 for marked (separating ol and ul shouldn't be too hard). For the last case, perhaps we should just follow the spec and not renumber 3, 4, 7 ↦ 3, 4, 5.

@tommyip To be clear, the spec says we should renumber 3, 4, 7 ↦ 3, 4, 5.

Ready for review.

@tommyip thanks for working on this!
I am worried that some of the UX changes here may end up being problematic in a chat context; because CommonMark was not designed around our use case, I don't think we can assume it will work well here.  We certainly had people complain about an earlier version of Zulip that didn't have any of those 5 things fixed, including about some of the ones we are changing to match CommonMark.  But I think it makes sense to fix-forward if we get further complaints that can refresh on the actual problems with this implementation.

This is great.  I renamed a few of the tests in markdown_test_cases.json (since they were frankly confusing now that the behavior has changed), squashed the commits (because conceptually we're doing a single migration of the syntax across the different renderings, not 3 sequenced migrations), and merged this as 574c35c0b84385692d613df443c1266b0e273d29.  Huge thanks for all the work on making this happen.
@hackerkid @aero31aero FYI; can you verify that this fixes the missed-message email issue from https://github.com/zulip/zulip/pull/12764?


Modern Data Stack in a box blog post

Many thanks to Jacob Matson for this post!

:shipit:

We should be all set to go when the time is right!


Index: Developed tests using PowerMock

Added test for successful SNI handling
Added test for effective host switch

Cool :+1: What are the next steps required to ensure those tests are passing on the most famous Android releases?

@redox: As these are now added to the testsuite, addressing #26 will test for those as well :)


Minimize/Expand taskpane (Office add-in Excel) feature when only one taskpane is open/active

Hi,
In the sample code: PnP-OfficeAddins/Samples/excel-keyboard-shortcuts/
I would like to know how the minimize/expand icon appeared on the side vertical bar? is it in-built functionality of using "excel on web"?
Attached the picture with highlight to know what I mean.

in my local machine, it did not appear the way it is in your sample. attached the picture.

can you please give me pointers how to get side bar with an icon to show/hide when only one task pane is open.
FYI after upgrading excel office app and shared runtime is used, then multiple icons appear on the sidebar (vertical) but when only one taskpane is open sidebar does not appear and not able to hide/show the taskpane. Attached the pic.

Using VS 2019, office 365 version 1202.

Hi @cgaranip,
I don't believe that element of the task pane layout is configurable by an add-in. @Rick-Kirkham, could you please confirm?

Hi @cgaranip,
I don't believe that element of the task pane layout is configurable by an add-in. @Rick-Kirkham, could you please confirm?

so are you saying that side bar with hide/show icon might be default only for excel on the web? not available for stand alone local excel apps using office add-ins?

Yes, how the add-in task pane is contained and displayed within Excel is determined by Excel. The content of the task pane is controlled by your add-in.

Alex is correct. That part of the UI is not configurable by the add-in developer. I'll close this question for now, but you can still comment if you have further questions on this issue.


Modify API charts to delegate reports actions to reportsgenerator

Superseded by: https://github.com/adevinta/vulcan-charts/pull/20