How to determine a message has been fully transfered

Hi,
I have created a server socket;
        $this->socket->on('connection', function(ConnectionInterface $connection){
               $connection->on('data', function($message) {
                   $this->createHandler($message, $connection)->handle($message);
               });
        });
        $this->socket->on('error', function($exception){
            $this->dispatcher->dispatch(new Event(EventStore::SOCKET_ERROR, $this, [
                'exception' => $exception
            ]));
        });
        $this->loop->run();

If a socket client send large chunks of data(greater than 65535) to the server. the listener for the event "data" will only get partial content every time.
How to gather all the partial content into a complete message?

You need to implement a protocol on top of the TCP layer. By design TCP is an open ended stream that sends and receives chunks. HTTP, RFC6455, ZMQ, and STOMP are a few examples. Something simpler might be to try JSON streaming

@cboden  Hi, i have got it.
However when I tried to study how "react / http" caught the http message, the package did not reach my expectations.
You will find the http request body seems to be empty:

ping @WyriHaximus

@slince we're working on full PSR-7 support for until then the request section on react/http on how streaming the body in works: https://github.com/reactphp/http#request

@WyriHaximus
Ok.
I think the "connection" event should be emitted when the full http message is caught(includes http header and body). You know that almost every request has a body.

the full http message is caught(includes http header and body)

And there lies the problem. We also support websockets where the 'body' is never done. Another thing is that if a client sends a huge file buffering that would mean loading it all into memory. And for one request that isn't to much of an issue, it becomes an issue when 10s or 100s of clients do that at the same time. Nowreact/http v0.8.0 will bring body parsers in the way you suggest: https://github.com/reactphp/http/issues/120

I believe this has been answered, so I'm closing this for now. Please come back with more details if this problem persists and we can reopen this :+1:


metrics: Add Prometheus and Grafana

This adds a metrics app which runs Prometheus and Grafana.
There are a wealth of metrics we'd like to collect, but for now I've just added the following:

host_running_jobs
router_backend_http_conn_errors_total
router_backend_http_status_total
router_backend_http_latency_seconds

There is a Prometheus wrapper which watches discoverd services (currently just flynn-host and router-api) and re-configures Prometheus by editing files in /etc/prometheus.
Grafana is available at https://metrics.${CLUSTER_DOMAIN} with an admin user flynn and password available in flynn -a metrics env get -t grafana GF_SECURITY_ADMIN_PASSWORD.
TODO:

[x] add Grafana Host dashboard
[ ] add Grafana Router dashboard
[x] add tests for router metrics

Does this Grafana-setup use Flynns PostgreSQL for persistence? Then I could replace our https://github.com/philiplb/grafana-on-flynn with this. :)

This should have a few tests.

@philiplb I have switched Grafana to use a PostgreSQL backend in a30b8ef.
@titanous comments addressed.
I've added the following host metrics (plus a rudimentary Host dashboard in Grafana):
host_memory_total_bytes
host_memory_avail_bytes
host_load_1m
host_load_5m
host_load_15m
host_jobs_active
host_jobs_starting
host_jobs_running

I've also added an integration test.
I'm going to leave the Router dashboard as a TODO for a further PR when we can add more metrics.
Ready for a review.

@lmars Awesome. :-)

How does this handle fault tolerance/HA? What happens if the host that the prometheus container is running on is rebooted?

How does this handle fault tolerance/HA? What happens if the host that the prometheus container is running on is rebooted?

Prometheus stores its data on a volume which will be re-attached by the scheduler, but beyond that it isn't very HA (much like the Redis appliance). We could try a HA storage backend, but I was focussing initially on just having it running.

The custom scripts functionality allows creating a script that will GRANT the appropriate permissions to access the data types/functions.

@titanous

The custom scripts functionality allows creating a script that will GRANT the appropriate permissions to access the data types/functions.

I gave it a try, but I'm getting @current_user@ being postgres and @database_owner@ being flynn, neither of which are the user that actually needs the permissions on the schema.
I got around this by setting the database owner as the random user here with ALTER DATABASE name OWNER TO new_owner but I don't really know if that is desirable?
Even with that, I sometimes get a syntax error as it seems @database_owner@ is only quoted if it begins with a letter:
GRANT ALL ON SCHEMA prometheus TO @database_owner@;

For example, when the user is ffbec53e3764df12d4f6827a415fa910 the script executes just fine, but when it is 17fd84f3d9b45cbf0af3e2c451d1657e I get:
DEBUG:  Executing custom script "/usr/local/share/postgresql/extwlist/pg_prometheus/after-create.sql"
ERROR:  syntax error at or near "17" at character 35

I got around this by setting the database owner as the random user here with ALTER DATABASE name OWNER TO new_owner but I don't really know if that is desirable?

Yep, that's fine.

Even with that, I sometimes get a syntax error as it seems @database_owner@ is only quoted if it begins with a letter:

Wrap it in quotes: "@database_owner@"

@titanous comments addressed, in particular:

host job metrics now end in _total
router metric labels are prefixed with backend_
all metrics get job_id and host_id labels if set in the discoverd instance metadata (see here)
Prometheus now uses PostgreSQL to store metrics

do we know how much more memory this addition will need?

Cautious ping? :)

Any chance maybe this could be picked up again and finished?

is this PR stalled?

Flynn is unmaintained and our infrastructure will shut down on June 1, 2021. See the README for details.


fix(kafka update): broken preview

Closes #1302
Verification Steps

Run rhoas kafka update --owner foo_user
This should display the existing user and the new user to be set

Type of change

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation change
[ ] Other (please specify)

Checklist

[ ] Documentation added for the feature
[ ] CI and all relevant tests are passing
[ ] Code Review completed
[ ] Verified independently by reviewer

Added a few todos for when cli will work with ReauthenticationEnabled. Currently handles only string values, needs modification to support other types later.


The "didReceive(_ result: Result<Moya.Response, MoyaError>, target: TargetType)" can not be invoked

I create a simple custom plugin like this:
class RequestLoadingPlugin: PluginType {
    func willSend(_ request: RequestType, target: TargetType) {
        print("request will send")
    }

    func didReceive(_ result: Result<Response, MoyaError>, target: TargetType) {
        print("response did receive")
    }
}

then initialize the provider:
let userProvider = RxMoyaProvider<User>(plugins: [RequestLoadingPlugin()])

but when I send a request, the print("request will send") will log in console, but the print("response did receive") not.
where is anything wrong?

@canny09 Can you share the code for the request and where you are holding the reference to the provider?
You can also set a breakpoint at: MoyaProvider+Internal.Swift, Line #241 at the didReceive callsite.

I write all the user requests in a file, like this:
// UserNetServer.swift
let userProvider = RxMoyaProvider<User>(plugins: [networkActivity, RequestLoadingPlugin()]) // provider

class UserNetServer {

    class func register(account: String, password: String) -> Observable<ResponseResult> {
        return requestWithTarget(.register(account: account, passwd: password)).retry(2)
    }

... // omit others like obve

// ResponseResult is a enum
// enum ResponseResult {
//    case successful(response: Response)
//    case failed
//}
    private class func requestWithTarget(_ target: User) -> Observable<ResponseResult> {
        let secondScheduler = ConcurrentDispatchQueueScheduler(queue: DispatchQueue.global())
        return
            userProvider.request(target).mapJSON().map { json -> ResponseResult in
                let jsonDict = json as! [String : Any]
                print("path: \(target.path) jsonDict: \(jsonDict)")
                if let response = Response.deserialize(from: jsonDict) {
                    guard let _ = response.code else {
                        return .failed
                    }
                    return .successful(response: response)
                }else {
                    return .failed
                }
            }.asObservable().observeOn(secondScheduler)
    }
}

then the code for request in "viewModel",
// RegisterViewModel.swift
let accountAndPassword = Driver.combineLatest(registerInput.accountInput, registerInput.passwordInput) { ($0, $1)}

// the "registerResult" subscribed by viewController
registerResult = registerInput.registerTap.withLatestFrom(accountAndPassword).flatMap {
    UserNetServer.register(account: $0, password: $1).asDriver(onErrorJustReturn: .failed)
    }.map { (responseResult) in
       switch responseResult {
       case let .successful(response):
            return response
       case .failed:
            return nil
     }
}

finally, the code in viewController:
// RegisterViewController
registerOutput.registerResult.drive(onNext: { response in
            if let code = response?.code {
                switch code {
                case .success:
                    //...
                case .accountExist:
                    //...
                default:
                    //...
                }
                return
            }
        }).disposed(by: disposeBag)

That is my request code, may be too much, but I think may be can give you more information. ☹
Thanks for replying!

@SD10 em..sorry.. may be has some problems in my code. The response is struct:
struct Response: HandyJSON {
    var code: ResponseCode? // an enum of our custom response code
    var message: String?
    var data: Any?
}

@canny09 I think @SD10 was trying to say that the server never sends a response, which is why your logger never receives anything to print.
There are a lot of layers here, with your custom Moya wrapper, view model, view controller, etc.
If you could simplify your bug to the smallest example, that would be ideal for us to help you debug.  If you'd like to find out if your plugin works, I'd recommend adding it to the provider in one of the examples instead 😄


Styling is off in Firefox

I seem to be running into an error in Firefox. When I keypress into the field; I background overlays the value and the autocomplete is shown way below the field.
I'm not sure if this was my styling issue or something is deprecated in the file. Has anyone else ran into this issue?

I fixed the background overlay, that was my fault.


Treeview testcases

I think you're right. We should use async/await like :
 await browser.get(baseUrl+ testConfig.treeviewPage.dynamic);
It's your call, I can update the PR with the calls. Still trying to figure out how to replace it for every waiting elements we have.
Regarding inverse of the await, I think it behaves the same way in terms of normal await. If the promise is resolved, it will negate it i.e make it false. For example,
function resolveAfter2Seconds(x) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(x);
    }, 2000);
  });
}
async function foo() {
  try{
    var x = !await resolveAfter2Seconds(10);
    console.log('We got this resolved', x);
  } catch (e) {
    console.log('We have to reject this one', e);
  }
}
foo();

And in case of reject, we need to catch the error(in both !await and await).

And in case of reject, we need to catch the error(in both !await and await).

If we still need to catch the error, as long as those calls are done within a promise, it should be simple enough:
element.getInnerHtml().then(function (html) {
  await someCondition();

  expect(html).toBe("some html");
}).catch(function (err) {
  ...
});

But in some cases (in beforeAll) those cases are outside of a promise chain so we would have to do something like:
try {
  await browser.get(baseUrl+ testConfig.treeviewPage.dynamic);
} catch (err) {
  ...
}

Although we aren't doing that now when an error is thrown because of a wait condition, that generally will cause protractor to respond with the right error. But it is something we should always try to do.
It would be nice if you could make those other changes in this PR to use await/async whenever possible instead of the old "wait conditions". That way when we start developing more tests going forward, we can rely on await/async with more confidence.

Regarding the async/await changes suggested, there are few advices to keep in mind if we want to use it.

Make sure you disabled control flow / promise manager: https://github.com/angular/protractor/blob/master/lib/config.ts#L631 Mixing awaits with enabled control flow may lead to unpredictable results.

Do not forget to prepend ALL your async actions with await (usually this is all protractor api methods). If you will forgot to do this - action without await won't be queued with other actions, so order of actions will be broken.

Source: https://stackoverflow.com/questions/44691940/explain-about-async-await-in-protractor/44701633#44701633
Note: Current implementation only uses async/await for viewport.

@jrchudy Have updated the chaise repo doc. And have raised the PR for the same.

Deleting this branch as the current test cases are being done on functional-testcases.


Panic with plasticity demo

I was playing with the demo, interacting with the plasticity object and I got the following panic
rust_panic https://www.nphysics.org/demo/plasticity3.wasm:824114
_ZN3std9panicking20rust_panic_with_hook17h96e3a4cb3d3dc866E https://www.nphysics.org/demo/plasticity3.wasm:42720
_ZN3std9panicking18continue_panic_fmt17hee5e08328f394e70E https://www.nphysics.org/demo/plasticity3.wasm:826330
rust_begin_unwind https://www.nphysics.org/demo/plasticity3.wasm:851490
_ZN4core9panicking9panic_fmt17hb65c49043b2bb0bbE https://www.nphysics.org/demo/plasticity3.wasm:311979
_ZN4core6option13expect_failed17h7c90fbc67711ba53E https://www.nphysics.org/demo/plasticity3.wasm:29263
15update_dynamics17hc409ae1a8bb07c75E https://www.nphysics.org/demo/plasticity3.wasm:888328
4step17h577f5765b8221129E https://www.nphysics.org/demo/plasticity3.wasm:205829
15funcall_adapter17h7f797050daadd889E https://www.nphysics.org/demo/plasticity3.wasm:371027
dyncall https://www.nphysics.org/demo/plasticity3.js:474 output https://www.nphysics.org/demo/plasticity3.js:174

The display got frozen in the following state

This crash is fixed and the online demos have been updated.


Error setting up entry for miner

When adding integration miner it gives me the below error. Using latest HA OS and latest hass-miner (main).
2023-05-12 10:47:51.707 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry s9j-heater for miner
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/miner/init.py", line 24, in async_setup_entry
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
AttributeError: 'ConfigEntries' object has no attribute 'async_setup_platforms'

Changing line 24 in custom_components/miner/init.py to
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
fixes the problem

This is fixed as part of #39, just making sure it's good to go then it will get merged.


Feature request: Quit after processing.

A nice use case would be to have logrotate run goaccess before rotating the nginx logs. Correct me if I'm wrong, but there's currently no way to tell goaccess to just process the log files and exit when done. A --process-and-exit option would be nice. This would also alleviate the problem with #334, as log files would always be processed exactly once for this specific use case.

If you are outputting to a terminal, there's no way to right now to exit goaccess after parsing the log. However, if you are outputting to an html file (no real-time), it will parse it and goaccess will exit.
I agree that running goaccess right before rotating the log should alleviate the issue of parsing the same log twice. Are you outputting to the terminal and thus you are suggesting --process-and-exit?

No, I'm not outputting anywhere now. What I want to do is process the log to enter the lines in the database and exit, so I can delete/archive the log but still open goaccess later (loading from the db) and see the analysis of the lines in the log.
I guess I can output an html file to /dev/null or something as a workaround, though.

Got it. I've added this option, it should now parse the given log and exit. Feel free to build from development, otherwise it will be pushed out in the upcoming release. Thanks!

Fantastic, thank you! Could you also comment on #334?

I'll definitely comment on #334, just let me think a bit more about the solution you proposed.


Sync controller mappings DB with SDL2 community repo

Synced with gabomdq/SDL_GameControllerDB@348cfa347f21825e922493e3d15ed1bb3836e6c4.

Cherry-picked for 3.5.

Cherry-picked for 3.4.1.


(BOLT-135) Add semantic_puppet dependency to gemspec

Without this, gem builds will fail when using tasks and plans because
Puppet won't find its dependency.

be rake test:git GIT_FORK=MikaelSmith/bolt GIT_BRANCH=add-semantic-to-gemspec passes for me now.


Dependabot preview shutting down on August 3rd

https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/upgrading-from-dependabotcom-to-github-native-dependabot

Evaluate renovate which actually supports yarn v2:
https://github.com/renovatebot/renovate

Moved to using renovate


Add supports of SOCKS proxy (continuation)

This PR is a continuation of https://github.com/mmazi/rescu/pull/125, resolves #115.
On behalof of @mmazi  added:

Applied: throwing an IllegalArgumentException when the value in config is invalid.
Added missing documentation in README.md

Thanks!


Issue-425 - streamToPromise failing test case

Fixes #425

@derduher This "one liner" is ready for review.  It's just tests, docs, and a one line fix for missing error propagation.

@huntharo Thank you


DateTimeZoneId unimplemented

While adding support for accepting Neo4j::Types v2 objects as query parameters in https://github.com/majensen/perlbolt/pull/56, I noticed that the Bolt structure DateTimeZoneId is apparently unimplemented in the client:
$ perl -MNeo4j::Bolt -E 'say Neo4j::Bolt->VERSION'
0.5000

$ perl -MNeo4j::Bolt -E 'say Neo4j::Bolt->connect(...)->run_query($ARGV[0])->fetch_next' \
  'RETURN datetime("2015-06-24T12:50:35.556+0200[Africa/Johannesburg]")'
Unknown neo4j_value type encountered at Neo4j/Bolt/ResultStream.pm line 12.

(I haven’t actually tried this in libneo4j-omni itself, but IIUC the code base is identical, so I guess that doesn’t matter.)


Please update for Swift4.1

Swift 4.1 SDK has released, please update for Swift4.1.
Thanks!

please update for Swift4.1

please update for Swift4.1

加一


ubx checksum err

During normal startup or reboot I sometimes get WARN [gps] ubx checksum err followed by WARN [gps] GPS module lost. I did a test where I set a test point when the warning happens and connected the serial lines of the GPS to an oscilloscope with serial analyzer function.
What I see is that the error immediately occurs after the configuration of the gps module (function GPS
DriverUBX::configure).
At the end of the function the message MON_VER is polled but there is no wait for the answer. This should not be a problem and the answer is handled with the next “receive” in the main loop. As the answer of the MON_VER is long (payload 190 bytes), it seems that in this case the input buffer overflows (GPS_READ_BUFFER_SIZE = 128 Bytes) and some bytes of the MON_VER answer get lost. Therefore the ubx decoder of the FMU reads the beginning of the next NAV_PVT as pay load of MON_VER and the checksum is wrong. I think maybe this problem occurs only with newer ubx modules (ublox M8N) as the output of MON_VER is now longer.

You're doing great hardening work, please keep this coming!
Let's increase the buffer to 200 bytes as the first stab.


[help wanted] how to use web-socket?

I didn't find any configurations to set that, can you tell me how to modify the protocol?
The configs only contains host and port (and metadata), maybe the config below is misused, I don't know.
- cluster: jenkins.102.co
  instances:
    - host: <IP_ADDRESS>
      port: 8082
      metadata:
        - key: envoy.lb
          value: canary
        - key: use_websocket
          value: true
        - key: service_name
          value: jnkins.102.com

And I found that the listenner's config always set to
var (
	xdsClusterConfig = envoycore.ConfigSource{
		ConfigSourceSpecifier: &envoycore.ConfigSource_ApiConfigSource{
			ApiConfigSource: &envoycore.ApiConfigSource{
				ApiType:      envoycore.ApiConfigSource_GRPC,
				ClusterNames: []string{xdsClusterName},
				RefreshDelay: ptr.Duration(xdsRefreshDelaySecs * time.Second),
			},
		},
	}
)

I stuck in this for a whole day, help me out please....
Thank you...

Do all your clusters need this, or just some?
Depending on the answer, you can specify either a ‘cluster_templateor a few fixed clustersusing the-xds.static_resourcesflag, or theROTOR_XDS_STATIC_RESOURCES` env var.

Some clusters need this, not all.
You mean put the xds.static_resources_filename in metadata filed, like this?
- cluster: jenkins.102.co
  instances:
    - host: <IP_ADDRESS>
      port: 8082
      metadata:
        - key: xds.static_resources_filename
          value: ???

There are not much documentation about how to write that. I looked up the source code and found that the yaml file only support these five keys: cluster, instances, host, port and metadata. Actually I don't know which part does the -xds.static_resources_filename flag belongs to...
Would you mind give me an example? Thank you very much!

Rotor is intended primarily as a simple envoy->EDS bridge, and as the control-plane for our commercial product.
There are many different collector plugins, we chose not to implement specific configuration in any og them beyond host/port and metadata. Instead, we provide a facility to statically specify clusters and listeners at rotor startup, using envoy configuration.
If you're running the docker image, you would specify a filename as an env var (ROTOR_XDS_STATIC_RESOURCES_FILENAME: <some path>, and you'd need to mount a YAML file at that path.
The YAML file would contain a clusters array, where each entry is an envoy v2 cluster object corresponding to the cluster you want to configure. If you make this cluster type EDS, and specify an eds_cluster_config pointing back to tbn-xds, the collector should use whatever hosts it collects but with the cluster config you specify.

Okay, thanks for your reply, I'll test it tomorrow!
After it works, maybe I can make a PR of file example :smiley:

So it looks like websockets are configured on the route rather than the cluster. To do this you'd have to hard code a full listener in the static resources.
There's a basic example of this in the tests; you'll need to specify your routes in the listener explicitly.

Hello @9len
It there a way to modify the default listener configs? Cause I want to add the use_websocket config to one of the clusters' route_config.virtual_hosts, but rotor will ignore the static config since the listener's name is duplicated: ignoring listener with duplicate name: "bj_vm:80"
But if I set ROTOR_XDS_STATIC_RESOURCES_CONFLICT_BEHAVIOR=overwrite, the configs I set will be overwrited with the auto-generated one.
Here is my static config and the docker-compose file:
listeners:
- name: bj_vm:80
  address:
    socket_address: { address: <IP_ADDRESS>, port_value: 80 }
  filter_chains:
  - filters:
    - name: envoy.http_connection_manager
      config:
        stat_prefix: bj_vm-80
        route_config:
          name: bj_vm:80
          virtual_hosts:
          - name: tty.102.co-80
            domains: ["tty.102.co"]
            routes:
            - match: { prefix: "/" }
              route: { cluster: tbn-xds, use_websocket: true }
        http_filters:
        - name: envoy.cors
          config: {}
        rds:
          config_source:
            api_config_source:
              api_type: GRPC
              cluster_names:
                - tbn-xds
              refresh_delay: 30.000s
          route_config_name: 'bj_vm:80'

version: "2"
services:
  envoy:
    image: turbinelabs/envoy-simple:0.18.0
    ports:
      - 80:80
      - 81:81
      - 9999:9999
    environment:
      - ENVOY_XDS_HOST=<IP_ADDRESS>
      - PORT=80:80
      - PORT=9999:9999
      - ENVOY_NODE_CLUSTER=bj_vm
      - ENVOY_NODE_ZONE=test_zone

  rotor:
    image: turbinelabs/rotor:0.18.0
    ports:
      - 50000:50000
    environment:
      - ROTOR_CONSOLE_LEVEL=debug
      - ROTOR_CMD=file
      - ROTOR_FILE_FORMAT=yaml
      - ROTOR_FILE_FILENAME=/data/routes.yml
#      - ROTOR_CMD=consul
      - ROTOR_CONSUL_DC=bj_office
      - ROTOR_CONSUL_HOSTPORT=<IP_ADDRESS>:8500
      - ROTOR_XDS_RESOLVE_DNS=true
      - ROTOR_XDS_STANDALONE_CLUSTER=bj_vm
      - ROTOR_XDS_STANDALONE_ZONE=test_zone
      - ROTOR_CONSUL_CLUSTER_TAG=test
      - ROTOR_XDS_STATIC_RESOURCES_CONFLICT_BEHAVIOR=overwrite
      - ROTOR_XDS_STATIC_RESOURCES_FILENAME=/data/static_resources.yml
    volumes:
      - ./data:/data

and the routes:
- cluster: crek.102.co
  instances:
    - host: <IP_ADDRESS>
      port: 8080
- cluster: jenkins.102.co
  instances:
    - host: <IP_ADDRESS>
      port: 8082
- cluster: ftp.102.co
  instances:
    - host: <IP_ADDRESS>
      port: 8091
- cluster: tty.102.co
  instances:
    - host: <IP_ADDRESS>
      port: 5082

How can I set the tty.102.co to use websocket? Is there a workaround?
I tried to add another listener to listen the port 81, and I can see the static routes in /config_dump, but envoy didn't return any data after 18:29:49.094901:
root@vmwareserver02:~/components/rotor_and_envoy/data# tcpdump -n -i any src <IP_ADDRESS> or port 5082
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
18:29:49.094592 IP <IP_ADDRESS>.81 > <IP_ADDRESS>.51920: Flags [S.], seq<PHONE_NUMBER>, ack 357772550, win 28960, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>,nop,wscale 7], length 0
18:29:49.094592 IP <IP_ADDRESS>.81 > <IP_ADDRESS>.51920: Flags [S.], seq<PHONE_NUMBER>, ack 357772550, win 28960, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>,nop,wscale 7], length 0
18:29:49.094901 IP <IP_ADDRESS>.81 > <IP_ADDRESS>.51920: Flags [.], ack 76, win 227, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
18:29:49.094901 IP <IP_ADDRESS>.81 > <IP_ADDRESS>.51920: Flags [.], ack 76, win 227, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
18:29:57.636037 IP <IP_ADDRESS>.9999 > <IP_ADDRESS>.60439: Flags [S.], seq<PHONE_NUMBER>, ack<PHONE_NUMBER>, win 28960, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>,nop,wscale 7], length 0
18:29:57.636037 IP <IP_ADDRESS>.9999 > <IP_ADDRESS>.60439: Flags [S.], seq<PHONE_NUMBER>, ack<PHONE_NUMBER>, win 28960, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>,nop,wscale 7], length 0

Is there a way to combine the listeners or the clusters with the static resources and the xds-generated one? The API definitions is soooo complicated....

Unfortunately, you've bumped up against the edge of what Rotor can support. Because listener configs can be pretty exotic, it's non-trivial to merge them together when they collide on the same port.
your two options are:

listen on a different port, as you have here
add all the other routes for your other services to your static listener config, and set ROTOR_XDS_STATIC_RESOURCES_CONFLICT_BEHAVIOR=overwrite

For #1 you may need to remove the rds section from your static listener if you haven't already; it may be that when you specify rds, the fixed routes are ignored.
For #2 it may be useful to run the rotor-test-client binary within the running rotor docker container; it will give you the full dump of the generated listener.
In either case, you may want to check the websockets documentation, and it may be helpful to run your envoy with -l trace so you get a full log of every request.

Finally.....
clusters:
- name: tty-stadic
  type: STATIC
  connect_timeout: 10s
  lb_policy: LEAST_REQUEST
  hosts:
  - socket_address:
      address: <IP_ADDRESS>
      port_value: 5082

listeners:
- name: 'bj_vm:80'
  address:
    socketAddress:
      address: <IP_ADDRESS>
      portValue: 80
  filterChains:
    -
      filterChainMatch: {}
      filters:
        -
          name: envoy.http_connection_manager
          config:
            access_log:
              -
                config:
                  additional_request_headers_to_log:
                    - X-TBN-DOMAIN
                    - X-TBN-ROUTE
                    - X-TBN-RULE
                    - X-TBN-SHARED-RULES
                    - X-TBN-CONSTRAINT
                  common_config:
                    grpc_service:
                      envoy_grpc:
                        cluster_name: tbn-xds
                    log_name: tbn.access
                name: envoy.http_grpc_access_log
            http_filters:
              -
                config: {}
                name: envoy.cors
              -
                config:
                  upstream_log:
                    -
                      config:
                        additional_request_headers_to_log:
                          - X-TBN-DOMAIN
                          - X-TBN-ROUTE
                          - X-TBN-RULE
                          - X-TBN-SHARED-RULES
                          - X-TBN-CONSTRAINT
                        common_config:
                          grpc_service:
                            envoy_grpc:
                              cluster_name: tbn-xds
                          log_name: tbn.upstream
                      name: envoy.http_grpc_access_log
                name: envoy.router
            route_config:
              name: "route-config"
              virtual_hosts:
                - name: "tty.102.co-80"
                  domains: ["tty.102.co"]
                  routes:
                    - match:
                        prefix: "/"
                        case_sensitive: false
                      route:
                        cluster: "tty-stadic"
                        use_websocket: true
                        websocket_config:
                          stat_prefix: "/"
            stat_prefix: bj_vm-80
            upgrade_configs:
              - upgrade_type: websocket

Thanks for your patience @9len , it works!
I still have to say, the config of envoy is soooooo complicated and confusing and annoying, and rotor is a great project, thank you!

Glad you got it working.


Delete button with Cancel Edit  on Table

Feature request type
Enhance component
Component name
MudTable
Is your feature request related to a problem?
Would be god if delete button on Row along with Edit and Cancel button
Describe the solution you'd like
???
Have you seen this feature anywhere else?
No response
Describe alternatives you've considered
No response
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

If u open this page: https://mudblazor.com/components/table#inline-edit-mode and look at the Inline Edit Mode example.
You see there is allready an edit mode for the table. When u look at the corresponding code find this section:
 <EditButtonContent Context="button">
        <MudIconButton<EMAIL_ADDRESS><EMAIL_ADDRESS>Class="pa-0"<EMAIL_ADDRESS><EMAIL_ADDRESS>/>
    </EditButtonContent>

I think that's the place to add custom buttons like a delete button.

@xfxJeroen is right, and #6129 will bring the currently edited item to the Context that is provided to the template.

Thats right. I miss that point. Thanks


Clarify SAC version nomenclature

Note on SAC naming could be cleared up.
On the Windows 10 page there is a clear note that indicates that moving forward, SAC releases will follow YYH1, YYH2 in the future.
From Windows 10 page:

Note
With this release and future releases, the Windows 10 release nomenclature is changing from a year and month pattern (YYMM) to a year and half-year pattern (YYH1, YYH2).

I raised an issue there but clearly (and correctly) that was out of scope.
Is it possible to confirm that this is also the case for Server and if so, could you add a similar note to this page?
Thanks very much!

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

ID: 738d569b-2ab6-9681-b7b0-6af9040da16b
Version Independent ID: abda3eec-da9f-1620-5e29-6c4e99a9e4d2
Content: What's New in Windows Server, versions 2004 20H2
Content Source: WindowsServerDocs/get-started/whats-new-in-windows-server-2004.md
Product: windows-server
Technology: getting-started
GitHub Login: @Heidilohr
Microsoft Alias: helohr

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Address missing task data

We are seeing some NPEs come through here. Adding more logging to see what is missing on the task definition here

update here, found some additional pieces. Based on the logs and the fact that a regular task bounce (which uses getTask vs getTasks) succeeds. We can say the task data is in the zkCache, but not in zk itself. So, as a bandaid, this attempts to repair the task if we see that case, before continuing on to the methods that would throw exceptions. The overall flow should remain the same if the task is still not present


Support GCP Pubsub emulator

It would be helpful for local development to be able to use the Google Pubsub emulator. This is not possible at present, because Sequin appears to require a service account in all circumstances.

Thanks @theonedom – this should be straightforward, we'll look into this today

Loom video describing issue and solution for whoever takes it:
https://www.loom.com/share/0a5dd9304ade4990849c2b65c357a595

I could work on this if possible?


How can I switch the base mono-camera from right to left?

Hi.
When I use the Oak-D Pro, it appears that the auto-exposure of the mono cameras is functioning based on the right mono camera. How can I switch the base mono-camera from right to left? Additionally, is it possible to set auto-exposure for the mono cameras separately?
** The 'setAutoExposureCompensation' option isn't enough to use for my case

@Erol444

Hi @socome ,
I am not completely sure, but I don't think it's possible to change that via API. For AE, you can also change exposure time/sensitivity manually for each camera separately, examples:

SDK example
depthai API example


Planned refactors and improvements (for discussion)

This is just random list of things that might need attention in the future and ideas that need discussion.
Language system overhauls
Language files currently seem like dead weight. They are not editable by users. To make changes, people need
to create their own copy and configure vane to use it.
New approach:

Built-in language files
Language files have very crude inheritance. You can basically say lang-en-custom.yml inherits from the default lang-en file, and then can only specify the differences. This will make updating easier.

Integrated minimalistic HTTP server to serve resource packs.
Ideally mojang just gives us a packet to send full resource packs to clients.
But as this is probably not going to happen, we need a workaround to allow:

User supplied resource pack content
Easy language adjustments
Resource-pack merging

I have the (slightly insane) idea to "monkeypatch" minecraft's server code to have the socket function as both a minecraft server and an HTTP server simultaneously on the same port. Might be better suited as a proxy patch or plugin but the resulting user experience would be so easy that it should be illegal.
Better custom-item API
Currently the customModelData integer space is "statically" split. Instead assign a NBT tag to each custom-item that identifies it. Like a proper resource key. Then in the future we can use this as the ground truth to apply conversions or other changes. Even the model-id or base item could then be changed.

Sorry I've been a little absent, been distracted (playing) minecraft and chasing performance issues after my server launched.
This is going to be a bit of a rambly update, based on what I had been thinking recently.

Custom Item Musings:
I had toyed around a bit with creating a custom-item api myself, as a toy example of how a custom item API might work that could work cross-plugins, but I hadn't committed it as I hadn't managed to get it to a workable state yet.
You have basically come to the same conclusion that I have, in that a custom-items underlying itemstack is a implementation detail that one day may disappear should Mojang bless us with data driven items.
My abstract API had a way of plugins to register custom item discriminators, that could identify a customItem instance registered using a namespace in a registry backwards from custommodeldata, itemtypes, lore, etc.
I had planned to add a way to update/migrate the items on version change as well, but not yet reached it, in order to propose moving vane items to a PDC tag that registers them to a registry.

Language file inspiration from other plugins I've been playing with:
As for Language Files, I had started updating some old plugins, and wanted to change the way their localization worked after working on vane. Personally I think resource packs are a little overkill (at this point in development) but they will clearly be the solution going forward that vanilla minecraft will promote for custom messaging IMO.
Kyori offer https://github.com/KyoriPowered/moonshine/ which is a library that can inflate a proxy class that implements a messaging service interface. It's overly complicated, and undocumented, as it's been abstracted using generics to the point where it could be used for JSX templates for webservice localizations. But there are several Minecraft plugins which use Adventure (even though it has no direct support for Adventure) that have used it to some effect.
I've been pondering how difficult it would be (and whether there would be any benefit!) to getting vane to use this potentially for localizations. But the current setup of vane seems ill-suited to it, so it boils down to whether you like the current system in use in vane.
Basically, moonshine turns
interface MessagingService {
    @Message("localization.lookup.key.BedIsBlocked")
    public void sendBedIsBlocked(@Reciever Audience player, @Placeholder String why);
}

into a class capable of resolving the key to a message bundle / config / etc (via an interface you implement, no automatic support) resolving any placeholder lookups, and resolving the audiences locale etc, which template to use, intermediate formats.
			messagingService = Moonshine.<IMessagingService, Audience>builder(new TypeToken<IMessagingService>() {
					})
					.receiverLocatorResolver(new AudienceResolver(), 0)
					.sourced(new PluginConfigSource())
					.rendered(new MessageRenderer())
					.sent(new MessageSender())
					.resolvingWithStrategy(new Strategy())
					.create();

So ReceiverLocator is an interface that accepts the method definition, annotations, etc, and returns the recipient of the message.
sourced takes an interface that resolves an intermediate representation (read, a template string) given a recipient and a message key.
rendered takes an interface responsible for finalizating the message type from the intermediate format, and populating it with substituted placeholders (string template arguments) for a given receiver.
the message sender is responsible for sending the message to a given recipient.
The resolvingWithStrategy is responsible for identifying the placeholders in a given method definition, converting them, looking them up, turning them into components, using their output for further lookups etc.
I had quite a lot of trouble understanding moonshine at first, so was planning on forking it for personal use with different names (but canned that idea after I worked out how it worked, as I could now understand the normal names) You can use this if you find the naming / types more comprehensible to work out how moonshine works: https://github.com/RTLBukkit/hazzard but I won't be publishing it.
I'm yet to work out if this can easily be adapted to work with resource packs, (it should be able to cope with it, just whether it's easy to work with) or if that would even be a goal considering how vane's translation system already works.

Basically TLDR; I think you are on a future proof track using resource packs for localization, but given most plugins don't need or use custom textures, their demand is somewhat lessened, and thus better suited to serverside translations, which moonshine makes easy.

Ponderings on versioning configs & lang files in general
I'd also been on a tangent wondering what the best method of migrating lang files / config files etc is, and been in search of a Java library that's capable of transforming configs based on versioning, or snapshotting them in the build system to easily tell if a setting had been customized from the default.
I'd worked with companies previously that treated configuration changes like database migrations, and in-place upgraded them, based on versioning information stored in meta-data, with a class responsible for porting each change based on version number changes. (forwards only).
However this has been traditionally difficult on yaml files under bukkit, as the comments wern't preserved, and the hierarchical nature of yaml, makes it fairly difficult to know that editing a yaml file programmatically will even take effect.
For this reason, I've started to shy away from using yaml for localization and configuration, like other plugins use, as it's more easily migrated without those features. However, it does mean that it breaks the 'convention' that minecraft admins are used to.

Research has shown that there doesn't appear to be any nice libraries for this that I can see, so best-case is to publish a default configuration that the user shouldn't edit, that shouldn't be loaded by the application to dissuade the user from editing it.
I'm reluctant to actually use these as a fallback, to prevent the user editing them, unless they were contained inside the jar/resource pack.
So when a new update occurs, the default file would just be in-place replaced, and the users file would have an attempted upgrade, with an automatic backup performed. noting any success or failure.
One thought I had, was loading the server side localizations from the (generated) resource pack server side, instead of from another class / resource, not sure why, just that it would seem a prudent way of minimizing the differences between client side translations and server side ones.

Specifically to inheritance for lang files.

Built-in language files with inheritance

Pros:

Easy updates for developers, overwrite the parent, but not the custom overrides.
Easy updates for users, if they don't care about the changes added, and were just slightly adjusting grammar or usage instructions.
Users are no longer confused by the reference files seemingly having no effect when changed.

Cons:

Removed nodes are never updated from the users customized versions, and can get out of date.
Users now need to keep track of 2 files, and continuously add to the second one if they wish to change every aspect.
Users no longer have a reference file to read to keep track of, if they were adding colors or branding to everything.

I think that the current approach of copying reference files is the correct way to go, but they need to be clearly labelled as reference or example files, instead of using in-built to the jar files.
Defaulting in the case of missing nodes is ok, but I think this should cause a warning.
The final questions remaining to me, is

Whether user custom files should be attempted to be migrated automatically at all, or just name them .old.versionxyz and replace them if present with the defaults. (awkward, but it's what discordsrv does)
Whether nodes that get changed/removed should be overwritten or somehow displayed as a conflict inside the lang file, or otherwise reported in the console / a report file made.


fix code warnings from fixtures

this one is special for @EverlastingBugstopper .
Closes #1147

this pr makes me very happy thank you so much


Add ext to gtest and change GG API setProblem

The GG API setProblem input arg problem type was
std::vector<GemmProblemType>& problemtype

is changed to
GemmProblemType& problemtype

to avoid confusion since currently hipblaslt only supports same GemmProblemType for all GG

Local hipblaslt-test passed


Update App.js

I updated App component to redirect to /login when mount. Please check if it is all good.

All good let's go

Thank you. I'm merging this.


text_classification.ipynb not yet run

Due to https://github.com/gradient-ai/Graphcore-HuggingFace/issues/1 .

@zzweig to confirm that you can login. If we can do it great. If not then we will comment out the cell.

The notebook will not produce meaningful results without the login: all cells after the login cell require that cell to have run. I can look after getting some of the higher priority content final details ready for launch.

The problem was due to incompatible transformers version. Added cell to fix installation to pip install transformers==4.20.0

Ah so it's the same problem HF Optimum had, with the requirements saying transformers >= 4.18.0 so it picks up 4.21 not 4.20, but manifesting differently here as a login failure instead of nan loss. Thanks for fixing!


Missing data for running tests

Hi,
Very interested in your work, and wanted to try running your code myself - thanks for making it public!
But I am running into a bit of trouble with running the tests. tests.py depends on a few hardcoded data paths (e.g. data/unofficial/...). It's not immediately clear where these data can be obtained from/how they can be re-constructed. Some instructions/links to obtain the necessary test data would be great.
~ Alexey

Thanks for catching this! I hadn't realized the tests-associated data were missing. It's in the repo now, here. Just unzip in <baseDirectory>.


Verilog source for the extension

Hello, may I ask where can I find the verilog source for this extension? Thanks.

there is no definitive "source" for the extensions but there are reference implementations https://github.com/riscv/riscv-bitmanip/tree/main-history/verilog


Removing team leader from itinerary does not remove team lead flag

To reproduce:

add team member
set team member as team lead
remove team member
add removed team member

Encountered this when testing fix for #1835.  This can result in having multiple team leads.
Possible solutions:

prevent removal of team lead by disabling remove
automatically remove member as team lead before removing member

I can implement either solutions.
@stevejgordon @tonysurma Comments ❓

I've implemented the second option and have it stashed.

@c0g1t8 - That sounds reasonable for now.

This is what the issue looks like:

@stevejgordon If you can assign me, I can create a PR with the fix.


[BUG] Live Migration cannot proceed since no node is suitable to run the required CPU model  NoSuitableNodesForHostModelMigration

Describe the bug
I have a Harvester cluster with 2 nodes, each of them has Ryzen CPUs but a different generation. 1 Host (ultron02) has the AMD Ryzen 7 5700G with Radeon Graphics while the other one (ultron01) has AMD Ryzen 7 3700X. During my tests with the cluster, I realized that I can live migrate VMs from ultron01 to ultron02 but not the other way around. I found that this is happening because some of the CPU features are missing the older gen CPU.
I realized that the pod scheduled to migrate the VM is in the pending state with a warning Warning  FailedScheduling  32s   default-scheduler  0/2 nodes are available: 2 node(s) didn't match Pod's node affinity/selector. and In the VM events, there were some CPU features that are listed as missing.
Status: NoSuitableNodesForHostModelMigration
VirtualMachineInstance: migrate-test

Migration cannot proceed since no node is suitable to run the required CPU model / required features: map[cpu-feature.node.kubevirt.io/amd-ssbd:true cpu-feature.node.kubevirt.io/arch-capabilities:true cpu-feature.node.kubevirt.io/cmp_legacy:true cpu-feature.node.kubevirt.io/erms:true cpu-feature.node.kubevirt.io/fsrm:true cpu-feature.node.kubevirt.io/hypervisor:true cpu-feature.node.kubevirt.io/invtsc:true cpu-feature.node.kubevirt.io/pschange-mc-no:true cpu-feature.node.kubevirt.io/skip-l1dfl-vmentry:true cpu-feature.node.kubevirt.io/tsc-deadline:true cpu-feature.node.kubevirt.io/tsc_adjust:true cpu-feature.node.kubevirt.io/vaes:true cpu-feature.node.kubevirt.io/vpclmulqdq:true cpu-feature.node.kubevirt.io/x2apic:true cpu-feature.node.kubevirt.io/xsaves:true host-model-cpu.node.kubevirt.io/EPYC-Rome:true]

When I run kubeclt describe on the Pending migration pod
ultron02:~ # kubectl describe po -n default virt-launcher-migrate-test-9v7j7
Name:           virt-launcher-migrate-test-9v7j7
Namespace:      default
Priority:       0
Node:           <none>
Labels:         harvesterhci.io/vmName=migrate-test
                kubevirt.io=virt-launcher
                kubevirt.io/created-by=98044005-4e44-4be3-8fe7-e8f72333d328
                kubevirt.io/migrationJobUID=7b2ca853-788d-462d-97dd-5148a78bdaa3
                kubevirt.io/migrationTargetNodeName=ultron01
                kubevirt.io/nodeName=ultron02
Annotations:    harvesterhci.io/migrationTargetNodeName: ultron01
                harvesterhci.io/sshNames: ["default/armagan"]
                kubernetes.io/psp: global-unrestricted-psp
                kubevirt.io/domain: migrate-test
                kubevirt.io/migrationJobName: migrate-test-4wkgl
                kubevirt.io/migrationTransportUnix: true
                post.hook.backup.velero.io/command: ["/usr/bin/virt-freezer", "--unfreeze", "--name", "migrate-test", "--namespace", "default"]
                post.hook.backup.velero.io/container: compute
                pre.hook.backup.velero.io/command: ["/usr/bin/virt-freezer", "--freeze", "--name", "migrate-test", "--namespace", "default"]
                pre.hook.backup.velero.io/container: compute
                traffic.sidecar.istio.io/kubevirtInterfaces: k6t-eth0
Status:         Pending

.
.
.

Node-Selectors:  cpu-feature.node.kubevirt.io/amd-ssbd=true
                 cpu-feature.node.kubevirt.io/arch-capabilities=true
                 cpu-feature.node.kubevirt.io/cmp_legacy=true
                 cpu-feature.node.kubevirt.io/erms=true
                 cpu-feature.node.kubevirt.io/fsrm=true
                 cpu-feature.node.kubevirt.io/hypervisor=true
                 cpu-feature.node.kubevirt.io/invtsc=true
                 cpu-feature.node.kubevirt.io/pschange-mc-no=true
                 cpu-feature.node.kubevirt.io/skip-l1dfl-vmentry=true
                 cpu-feature.node.kubevirt.io/tsc-deadline=true
                 cpu-feature.node.kubevirt.io/tsc_adjust=true
                 cpu-feature.node.kubevirt.io/vaes=true
                 cpu-feature.node.kubevirt.io/vpclmulqdq=true
                 cpu-feature.node.kubevirt.io/x2apic=true
                 cpu-feature.node.kubevirt.io/xsaves=true
                 host-model-cpu.node.kubevirt.io/EPYC-Rome=true
                 kubernetes.io/hostname=ultron01
                 kubevirt.io/schedulable=true
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason            Age   From               Message
  ----     ------            ----  ----               -------
  Warning  FailedScheduling  32s   default-scheduler  0/2 nodes are available: 2 node(s) didn't match Pod's node affinity/selector.

and the missing CPU features were
* cpu-feature.node.kubevirt.io/erms: "true"
* cpu-feature.node.kubevirt.io/fsrm: "true"
* cpu-feature.node.kubevirt.io/vaes: "true"
* cpu-feature.node.kubevirt.io/vpclmulqdq: "true"

and these features are indeed missing on the older generation of Ryzen CPUs. But the problem is, it is not a MUST for VM to work on the other host and I can simply confirm this by stopping the VM and forcing it to run on the other host. It is running without any problems.
To have a simple workaround, I added these features manually to the first host, to maybe trick kubevirt, but with no success.
VirtualMachineInstance migrate-test
VirtualMachineInstance migration uid d637e66c-9538-46b6-81ee-bfe00895430c failed. reason:Live migration failed error encountered during MigrateToURI3 libvirt api call: virError(Code=9, Domain=31, Message='operation failed: guest CPU doesn't match specification: missing features: erms,vaes,vpclmulqdq,fsrm')

Looks like libvirt is smarter than I expected and is not just looking into the host annotations, but also sending an API request.
After that, I tried to edit the Pending pod that is created on the migration task, and delete the missing CPU features,
# pods "virt-launcher-migrate-test-bw7p6" was not valid:
# * spec: Forbidden: pod updates may not change fields other than `spec.containers[*].image`, `spec.initContainers[*].image`, `spec.activeDeadlineSeconds`, `spec.tolerations` (only additions to existing tolerations) or `spec.terminationGracePeriodSeconds` (allow it to be set to 1 if it was previously negative)

but looks like it is not possible as well. Then I realized there is also an annotation called host-model-required-features.node.kubevirt.io and the missing features that I have on the first host are also listed there. So I manually edit the second host and tried to delete those annotations.
And after I re-run the migration job, I realized that the pod is in the Running state for a brief moment, then going into the Error state again, with the same API failures on the error message.
ultron02:~ # kubectl get pods -A  | grep mig
default                     virt-launcher-migrate-test-5zrfv                         1/1     Running     0                30s
default                     virt-launcher-migrate-test-ht2wh                         1/1     Running     0                18s

ultron02:~ # kubectl get pods -A  | grep mig
default                     virt-launcher-migrate-test-5zrfv                         1/1     Running     0                45s
default                     virt-launcher-migrate-test-ht2wh                         0/1     Error       0                33s

ultron02:~ # kubectl describe po -n default virt-launcher-migrate-test-ht2wh
Name:         virt-launcher-migrate-test-ht2wh
Namespace:    default
Priority:     0
Node:         ultron01
Start Time:   Sat, 22 Oct 2022 21:53:24 +0000
Labels:       harvesterhci.io/vmName=migrate-test
              kubevirt.io=virt-launcher
              kubevirt.io/created-by=eeb213b4-b111-47ca-8c28-5cd33b025712
              kubevirt.io/migrationJobUID=63be1c96-9fc0-4991-82dd-0310e6775d73
              kubevirt.io/nodeName=ultron02
Annotations:  cni.projectcalico.org/containerID: 66903e204842898de9340282d5fa1675edf3f3c0f2c8f626524723f056223417
              cni.projectcalico.org/podIP:
              cni.projectcalico.org/podIPs:
              harvesterhci.io/migrationTargetNodeName: ultron01
.
.
.
Status:       Failed
.
.
.
QoS Class:       Burstable
Node-Selectors:  cpu-feature.node.kubevirt.io/amd-ssbd=true
                 cpu-feature.node.kubevirt.io/arch-capabilities=true
                 cpu-feature.node.kubevirt.io/cmp_legacy=true
                 cpu-feature.node.kubevirt.io/hypervisor=true
                 cpu-feature.node.kubevirt.io/invtsc=true
                 cpu-feature.node.kubevirt.io/pschange-mc-no=true
                 cpu-feature.node.kubevirt.io/skip-l1dfl-vmentry=true
                 cpu-feature.node.kubevirt.io/tsc-deadline=true
                 cpu-feature.node.kubevirt.io/tsc_adjust=true
                 cpu-feature.node.kubevirt.io/x2apic=true
                 cpu-feature.node.kubevirt.io/xsaves=true
                 host-model-cpu.node.kubevirt.io/EPYC-Rome=true
                 kubernetes.io/hostname=ultron01
                 kubevirt.io/schedulable=true
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type    Reason                  Age   From                     Message
  ----    ------                  ----  ----                     -------
  Normal  Scheduled               40s   default-scheduler        Successfully assigned default/virt-launcher-migrate-test-ht2wh to ultron01
  Normal  SuccessfulAttachVolume  28s   attachdetach-controller  AttachVolume.Attach succeeded for volume "pvc-9b1fa6e8-e874-47cd-80a5-64d45b66d5e3"
  Normal  SuccessfulMountVolume   27s   kubelet                  MapVolume.MapPodDevice succeeded for volume "pvc-9b1fa6e8-e874-47cd-80a5-64d45b66d5e3" globalMapPath "/var/lib/kubelet/plugins/kubernetes.io/csi/volumeDevices/pvc-9b1fa6e8-e874-47cd-80a5-64d45b66d5e3/dev"
  Normal  SuccessfulMountVolume   27s   kubelet                  MapVolume.MapPodDevice succeeded for volume "pvc-9b1fa6e8-e874-47cd-80a5-64d45b66d5e3" volumeMapPath "/var/lib/kubelet/pods/692c91be-a9eb-427d-9166-2cd4bcba8b82/volumeDevices/kubernetes.io~csi"
  Normal  AddedInterface          27s   multus                   Add eth0 [<IP_ADDRESS>/32] from k8s-pod-network
  Normal  Pulled                  27s   kubelet                  Container image "registry.suse.com/harvester-beta/virt-launcher:0.49.0-2" already present on machine
  Normal  Created                 27s   kubelet                  Created container compute
  Normal  Started                 27s   kubelet                  Started container compute

VirtualMachineInstance migrate-test
VirtualMachineInstance migration uid 63be1c96-9fc0-4991-82dd-0310e6775d73 failed. reason:Live migration failed error encountered during MigrateToURI3 libvirt api call: virError(Code=9, Domain=31, Message='operation failed: guest CPU doesn't match specification: missing features: erms,vaes,vpclmulqdq,fsrm')

Looks like there is no easy way to fix this. But it still doesn't make sense to me to have this feature missing, simply because I lack a couple of features on the older-gen CPU. Is there any way to change the settings that are enforced by kubevirt/Harvester to enforce backward compatibility on VMs, and maybe manually set which CPU features are a MUST for live migration?
To Reproduce
Steps to reproduce the behavior:

Have 2 hosts with different CPU (Ryzen 3rd gen and 5th gen)
Try to migrate a VM from the 5th Gen host to the 3rd Gen host
Observe the live migration failure.

Expected behavior
VM should be migrated successfully.
Environment

Harvester ISO version: harvester-v1.0.3-amd64
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):  1 Host (ultron02) has the AMD Ryzen 7 5700G with Radeon Graphics while the other one (ultron01) has AMD Ryzen 7 3700X.

@armagankaratosun Did you try to edit the CRD object of virtualmachine ? to remove those lables in NODE with newer CPU.  The pod is the downstream object of virtualmachine.

Hello, I removed the lables from the Node with the newer CPU and tried to migrate it again, but unfourtunatly, it still fails with the same error

OK, then there are controllers updating those CPU flags, which reads it from e.g. /proc/cpuinfo. Manul change will be reverted.
In Openstack, it's done via:   https://opendev.org/openstack/nova/commit/bcd6b42?style=split
For Harvester/KubeVirt, it seems no straightforwad solution yet.
In medium/large-scale cluster, diffent kind of CPU/NODE could be labelled differently and VM can live migrate in different groups. For your 2-node cluster, seems a bit difficult now.

KubeVirt default cluster cpuModel configuration for Harvester
Harvester uses Kubevirt under the hood and KubeVirt has an option to define default CPU model on cluster level.
https://kubevirt.io/user-guide/virtual_machines/virtual_hardware/#enabling-default-cluster-cpu-model
Detault value for this option is to use "host-model" and this is the cause of the differences at the end.
https://github.com/harvester/harvester/blob/master/deploy/charts/harvester/dependency_charts/kubevirt/values.yaml#L104
It would be great to be able to configure this option through UI, but until then, the easiest way to update this is to ssh into one of the nodes and issue command to edit "kubevirt" ...
kubectl edit -n harvester-system kubevirt kubevirt
You should then define cpuModel on cluster level like this. Choose cpuModel that is compatible with all your processors ...

Source: https://kubevirt.io/user-guide/virtual_machines/virtual_hardware/#enabling-default-cluster-cpu-model
When creating new virtual machine, your new machine should use cpuModel you defined and you should be able to migrate it between hosts without issues. I'm not sure what will happend when upgrading Harvester cluster. This value will probably be overwritten, but that is another topic.
When looking at all of this, at the end of the day, this is not really a bug, but more like a missing feature.

https://github.com/harvester/harvester/issues/3762
Same issue but with different error  "Preemption is not helpful for scheduling"

The workaround suggested by @acosoft should work in principle. However, you can encounter issues if the case is not straightforward. My example, I got a harvester with two node types: DELL PowerEdge R750 and DELL PowerEdge R740xd, the R740xd are CascadeLake (Xeon Scalable Gen2) and the R750 are Icelake (Xeon Scalable Gen3). You might think that putting Cascadelake-Server should solve your problem since it is the older type. But, no, VMs fail to migrate because of the absence of the MPX cpu feature in Icelake.
You needed to put Broadwell in order for it to work, because MPX is a feature that existed between Skylake and CascadeLake.
It looks like the Kubevirt CR does not support yet disabling CPU features cluster-wide. The linked PR should solve this and it is not yet merged as of today.
So, the only workarounds now are either:

Put a simple cpuModel that is compatible with both nodes, including all CPU features and do that cluster-wide (might not be possible)
Use the older cpuModel of the two nodes, and explicitely disable features using policies at the VMI level.

I would have liked to see an automated implementation in Harvester for the second solution. For instance, you define a cpuModel template and/or a cpuFeatureSet template that you can re-use each time you create a VM or that you can set for VMs based on labels.

@belgaied2 it would be great to see you folks joining kubevirt to address these issues around heterogeneous clusters.


2022.1 Support

Context
Trying to set this up for my personal project, using 2022.1. (It's here if you want to see it for additional context).
I get this error:
manifest for unityci/editor:2022.1.0a13-linux-il2cpp-0 not found: manifest unknown: manifest unknown
Judging from #52, this is just an issue with not having the right docker image available
Suggested solution
Create docker container for this build scenario
Additional details
I did raise this here, but I think this is probably the best place so I've closed it there.
https://github.com/game-ci/unity-actions/issues/127

This is an alpha version of Unity version, and we don't yet support alpha or beta versions of Unity.
I'd say this is a duplicate of https://github.com/game-ci/docker/issues/50

Ahh right okay, I wonder why there's a different way to build the images for prerelease versions

I've downgraded to 2021.2.1f1 which has got me going for now

Ahh right okay, I wonder why there's a different way to build the images for prerelease versions

As mentioned https://github.com/game-ci/docker/issues/50#issuecomment-734372395, new versions occasionally break because of missing libraries. Oftentimes Unity fixes these issues before moving to stable for that version.
Closing as duplicate of #50.


Provider scripts may include html tags in record titles

Description

Discovered in WordPress/openverse-catalog#614 with Wikimedia. The scripts ingests some records that include html tags in the record title.
Reproduction

Run the Wikimedia provider script locally
Inspect the ingested records, either through the db shell by running just db-shell or by accessing the generated tsv file through MinIO. You should see multiple records with tags in the title, like
 Silver penny of Henry I

Additional context

It would be worth investigating to see how these records are appearing on the frontend.
We should consider fixing this in the MediaStore as it may apply to other providers than just Wikimedia.
Resolution

[ ] 🙋 I would be interested in resolving this bug.

The frontend renders HTML as text. So, even though the security is okay, the way the titles look is bad, and there are a lot of example of such items from Wikimedia, both audio and image: https://openverse.org/search?q=
&source=wikimedia


Contract: add timestamp and issuer to genesis

Implements https://github.com/RGB-WG/RFC/issues/1 and https://github.com/RGB-WG/RFC/issues/2

@cryptoquick No. It is a tagged SHA256 hash of a strict-serialized data. More on it here: https://github.com/RGB-WG/rgb-core/blob/master/doc/Commitments.md (just search for StrictHash string)


Add distribution selector for distribution builds on Jenkins

Signed-off-by: Peter Zhu<EMAIL_ADDRESS>Description
Add distribution selector for distribution builds on Jenkins
Issues Resolved
#3012
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #3149 (7a5b923) into main (303e08a) will decrease coverage by 0.31%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #3149      +/-   ##
==========================================
- Coverage   93.18%   92.88%   -0.31%
==========================================
  Files         167      167
  Lines        4607     4609       +2
==========================================
- Hits         4293     4281      -12
- Misses        314      328      +14

Impacted Files
Coverage Δ

src/manifests_workflow/input_manifests.py
83.67% <100.00%> (+0.22%)
:arrow_up:

src/system/temporary_directory.py
64.44% <0.00%> (-28.89%)
:arrow_down:

src/system/os.py
94.73% <0.00%> (-5.27%)
:arrow_down:

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


GCE stop and remove operations needs explicit zone

The is_zone_operation_done of class system does not _zone attribute set and hence the delete operation has been failing for missing zone even though the operation was performed successfully in the background.

@jyejare, do you need a new release made after this one gets merged?


Add support for ASCIIDOC language

It would be useful, at least for me because I'd like to use CodeMirror as a web editor for asciidoc. Thanks.

We're not adding any more languages to the main distribution. To get a new language into CodeMirror, you'll have to set it up as a separate package.


Adds a test for a JedisCluster based UnifiedJedis

PR contents are essentially just the title.
I'm having a hard time running the tests locally, they never seem to be able to communicate with the redis cluster container. If the tests don't pass in GitHub actions I can dig into it further

Tests have been passed


DNS replacement for ingress ports

Not just for host ports:
services:
  app:
     build: .
     ports:
       - target: 80
         mode: ingress
     #domainname: example.com
     environment:
       - FQDN=https://app

We should add this feature, but for the particular FQDN case, we can always set an env_var for the fqdn

Playground only and not in docker compose either, so closing.


Target value used both as a feature and a target value in lin_model.fit(X, y)

On the first code snippet, columns are set to include everything except 'Year'.
Variable representing target column, target is equal to 'Rentalcount', which is also included in columns. This means that the fit call (from the next step of the tutorial) will include target column in both X and y arguments:
# Fit the model to the training data.
lin_model.fit(train[columns], train[target])

Referencing to this stats.stackexchange comment, this shouldn't be correct. The variable columns shouldn't include the target column.
My suggestion is to change "Year" to "Rentalcount" (or add "Rentalcount") in
columns = [c for c in columns if c not in ["Year"]]

at least as a quickfix, because it would lead to a bad model (around 0.2 r2 score). Still, the goal of the tutorial might not be to find the best model.
This change would also impact the next parts of the tutorial, like:

Part 3 - Make predictions
Part 4 - Create a stored procedure that generates the model
Part 4 - Create a stored procedure that makes predictions

PS: I'd be happy to do these changes if the suggestion is approved

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

ID: e6126902-bcdc-3d8e-5977-ed58b8bf00f1
Version Independent ID: 9dc69621-c9ce-840a-1dac-5da135f50515
Content: Python tutorial: Prepare data - SQL machine learning
Content Source: docs/machine-learning/tutorials/python-ski-rental-linear-regression-prepare-data.md
Product: sql
Technology: machine-learning
GitHub Login: @WilliamDAssafMSFT
Microsoft Alias: wiassaf

@PajLe -- thank you for your thorough feedback.
@WilliamDAssafMSFT -- William, please look into this issue.

@PajLe You are absolutely correct that this original ML sample is incorrectly including target columns in the training set. This is not a good example regardless of the model accuracy. We actually have a revamp of this example already in flight. I'll ping back when it is published and would be happy to have you review to make sure your concerns are addressed.


Chromium browser not secure authorization now allowed.

The browser it is opening is not considered secure to use to sign in. Is there a bypass or could you make it reference the actual browsers by any chance?

I was able to reproduce this yesterday i think;
It looks like TikTok doesnt like the other login methods; eg fb and google complain.
I have success using the Username and password combo; (not phone number of email).
I can reopen if that doesn't work!

That was it! Thanks.
Yahoo Mail: Search, Organize, Conquer
On Mon, May 13, 2024 at 3:14 PM, Joshua @.***> wrote:
I was able to reproduce this yesterday i think;
It looks like TikTok doesnt like the other login methods; eg fb and google complain.
I have success using the Username and password combo; (not phone number of email).
I can reopen if that doesn't work!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Named Params Error

Incorrect
FirebaseAuth auth = FirebaseAuth.instance;
await auth.verifyPhoneNumber(
phoneNumber: '+44 7123 123 456',
codeSent: (String verificationId, int resendToken) async {
// Update the UI - wait for the user to enter the SMS code
String smsCode = 'xxxx';
// Create a PhoneAuthCredential with the code
PhoneAuthCredential phoneAuthCredential = PhoneAuthProvider.credential(verificationId, smsCode);

// Sign the user in (or link) with the credential
await auth.signInWithCredential(phoneAuthCredential);

},
);
The correct is
      // Create a PhoneAuthCredential with the code
      PhoneAuthCredential phoneAuthCredential =
          PhoneAuthProvider.credential(verificationId:verificationId,smsCode: smsCode);

Description
Replace this paragraph with a description of what this PR is doing. If you're modifying existing behavior, describe the existing behavior, how this PR is changing it, and what motivated the change.
Related Issues
Replace this paragraph with a list of issues related to this PR from the issue database. Indicate, which of these issues are resolved or fixed by this PR. Note that you'll have to prefix the issue numbers with flutter/flutter#.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] If the pull request affects only one plugin, the PR title starts with the name of the plugin in brackets (e.g. [cloud_firestore])
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[ ] All existing and new tests are passing.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] The analyzer (flutter analyze) does not report any problems on my PR.
[ ] I read and followed the Flutter Style Guide.
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[ ] I updated CHANGELOG.md to add a description of the change.
[ ] I signed the CLA.
[ ] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[ ] No, this is not a breaking change.

Closing as there's no changes in this PR.


Listen for go debug on all interfaces, not just localhost

It's difficult using the go pprof debug utility when running in a container since the network interface it binds to defaults to localhost. This PR makes 2 changes:

Make the interface address configurable
Change the default interface to "*"

It still requires changes to the docker run command or docker compose overrides file to get a route through to the debug listener, but doesn't require you to rebuild firefly.

Both comments should be addressed in the new commit. I notice that we have a config test so I updated that, although it feels like it's of limited use as it's just testing the defaults haven't been changed. Didn't seem to do any harm to add a couple of tests to it though.


Save In a Loop cannot SetCellValue success or occur corrupted

Description
func SetValueTest() {
// Open Book1 Excel
f, err := excelize.OpenFile("./Book1.xlsx")
if err != nil {
Println(err)
return
}
for i := 0; i < 10; i++ {
    f.SetCellValue("Sheet1", fmt.Sprint("A", i + 1), i)
    f.Save()
}

}
Excute SetValueTest can reappeare the bug.
Steps to reproduce the issue:
1.Create Book1 excel and write a num on D3
2.Excute SetValueTest
3.You can see A3 is empty

if I save after loop, the problem does not exit
for i := 0; i < 10; i++ {
f.SetCellValue("Sheet1", fmt.Sprint("A", i + 1), i)
}
f.Save()
Output of go version:
go1.12.7.windows-amd64
Excelize version or commit ID:
2.0.1 & update to (2019.07.22)
Environment details (OS, Microsoft Excel™ version, physical, etc.):
win10 1903
office 2019 1906

Hi @GZLHZ, thanks for your feedback. This issue has been fixed. Please try to upgrade the library with the master branch code, but I don't recommend calling the Save() method in the iteration, which will cause more heap memory allocated.

Hi @GZLHZ, thanks for your feedback. This issue has been fixed. Please try to upgrade the library with the master branch code, but I don't recommend calling the Save() method in the iteration, which will cause more heap memory allocated.

Ok, Thank you. I know that is not a good save way ,I just try it when I learning how to use and report to you.😁  Excelize is a very good project, thank you for create this


Update README.md DROL

The Kingdom of God
Is here to stay
In this kingdom
There shall be no end
Power everywhere
Thank you for your contribution to Abseil!
Before submitting this PR, please be sure to read our contributing
guidelines.
If you are a Googler, please also note that it is required that you send us a
Piper CL instead of using the GitHub pull-request process. The code propagation
process will deliver the change to GitHub.

Nothing can stop the gospel

No end

Is kingdom has no end


Add possibility to pass implicitly tanokStream with help of context

Close PR, because find better way to pass stream in context, without breaking changes


Form/input validation for CreateToken, LaunchICO

disable submit button until

Required fields have values
values are validated
Related: #55

#60


Added support for SAMG55

Review comments are available at : https://github.com/mbedmicro/mbed/pull/1550

I'll pull this sources soon to review, Serial async test - there was one failure, is this fixed?

@0xc0170
The following Serial async test failure was due to a limitation, the test expects to abort transfer once  character match happens, Since we are using DMA to transfer  by the time character match is identified the transfer is completed so the test fails.
TEST(Serial_Asynchronous, char_matching_success)

I see. That is expected. the char match is intended in this cases to fallback to IRQ in most cases.

Hi @0xc0170
Please let me know if we have any update on this PL.

I pulled this locally last Friday, have to go through it as github fails with this big PR. My goal is to get this resolved within Tuesday
cc @bridadan New targets

Thanks for the update @0xc0170  :+1:

@akhilpanayamparambil @Parthasarathy The merge button provided an option squash for this one :sob: (there are 2 ways to merge now on github, I just clicked on merge button, overlooked it was the squash one). We could revert that commit, and send the new patch with all this history. Let me know

Hi @Parthasarathy ,
There seems to be a bug in the implementation of the SPI.
In spi_driver.c, line 318,
void spi_set_clock_phase(Spi *p_spi, uint32_t ul_pcs_ch, uint32_t ul_phase) {     if (ul_phase) {         p_spi->SPI_CSR[ul_pcs_ch] |= SPI_CSR_NCPHA;     } else {         p_spi->SPI_CSR[ul_pcs_ch] &= (~SPI_CSR_NCPHA);     } }
For phase = 0, phase = 1 is applied.
It works as expected if the following line is amended to,
if (!ul_phase)

Thanks @kgoveas,  I will fix it.


Get the source ID of dragged element

I've created a tree with Dragular, which now I want to use so that when I drag an element over a node I can drop it on that node as a child element.
I tried to look for properties when using dragularleave and dragulardrop: I use a unique ID for each node with e.target.getAttribute('id') so I know what I'm hovering over.
Now I need to know what is the unique ID of the actual element I drag so that I don't trigger a function that will expand child elements of a node on the dragged node.
Right now when I move an element, the first 'target' is the very same node I drag, so I need to find a way to eliminate it as a real target on hover over.
If I had the source ID I can say something like don't fire expandChildNodes() if the target has the same ID as the source.
Is there a way to access the source's ID attribute like that? Thanks!

Sure.. there is always a way :) In dragularenter event listener, access dragularService.shared.source. It is an container element where the item was dragged from, you can also check dragularService.shared.target
All the properties of the shared object are commented in source at the top of the file:
https://github.com/luckylooke/dragular/blob/master/src/dragularService.js
You may find useful other properties too..
I did not documented it because I wanted to handle it another way, but since I have stopped the development of this library for now, it is hardly to be changed in foreseeable future.

Thanks @luckylooke, dragularService.shared.source returns the container though, but sourceItem does the trick! Excellent, thanks for a quick reply!!


Issues in building TensorSwarm

Hi,
I followed the installation instructions. I built and installed Argos from the corresponding branch. The only difference is that I have Melodic installed instead of Kinetic. I tried to  build TensorSwarm, but I get the following errors:
CMake Error at TensorSwarm/plugin/CMakeLists.txt:12 (include):
  include could not find load file:

    ARGoSCheckQTOpenGL

CMake Error at TensorSwarm/plugin/CMakeLists.txt:15 (find_package):
  By not providing "FindLua52.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Lua52", but
  CMake did not find one.

  Could not find a package configuration file provided by "Lua52" with any of
  the following names:

    Lua52Config.cmake
    lua52-config.cmake

  Add the installation prefix of "Lua52" to CMAKE_PREFIX_PATH or set
  "Lua52_DIR" to a directory containing one of the above files.  If "Lua52"
  provides a separate development package or SDK, be sure it has been
  installed.

Do you maybe have any idea what the problem could be?
Thank you

I fixed this. I already had the argos_bridge package added to my workspace and as they both build a library named argos_ros_bot, that seems to have been the problem. After deleting the build and devel directories and excluding argos_bridge, I had no problems anymore in building TensorSwarm.

@jtrautmann: Great that you could resolve it. Let me know if you need anything else!

I fixed this. I already had the argos_bridge package added to my workspace and as they both build a library named argos_ros_bot, that seems to have been the problem. After deleting the build and devel directories and excluding argos_bridge, I had no problems anymore in building TensorSwarm.

Do you have any suggestions on where I should go in the Argos project to exclude the argos_bridge build?


Improved the Responsiveness of the Covid Section.

Improved the Responsiveness of the Covid Section.
Solved Issue no : #56

Deployed link : https://sayan404.github.io/HealhUb/pages/covidSection.html

The website is not responsive. Fix This ASAP.

Just zoom it out it is zoomed .

can u please check the demo video i have attached into the previous comment .

The changes you made make the website responsive but not according to the Mobile view.
View After your Changes:

HOW IT SHOULD LOOK LIKE:


Color for Hex, SevenSeg, and VariableLed

Please check it though, just in case I missed something.
#49
I hard a hard time understanding what was going on, but after reading the code a few times, I finally understood... (i hope I did)

It looks perfectly right. I will just check once and merge it.

I hard a hard time understanding what was going on, but after reading the code a few times, I finally understood... (i hope I did)
Yeah our code quality needs to be improved and more documentation needs to be done.

I agree, I have no idea what script calls the functions inside modules.js, and therefore did not know what kind of data it was sending.

@satu0king Can you review this PR once you are free, thanks.


InAppBrowser.on(‘loadstop’) not working

I am cannot use .on in InAppBrowser i need help my code is:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { InAppBrowser } from "@ionic-native/in-app-browser";

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  constructor(public navCtrl: NavController, private iab: InAppBrowser) {

  }

  doLoginTwitter() {
    const browser = this.iab.create("http://xxxxxxx.com/api.php",  '_self');
    browser.on('loadstop').subscribe(function(event){
      console.log("LOG: API Response");
      console.log(event);
    });
  }

}

I’ve tried it anyway but it never works on loadstart and loadstop does not work I want to know why it does not work I’m testing on my cell phone using Ionic DevAPP but it still does not work, it opens the normal API window but it does not work fires the logs on the console I am using the ionic command --lab -c to start the ionic server and it does not work please help me.

Hello! Thank you for opening an issue with us!
The Ionic Framework issues list is designated for the reporting of bugs with the Ionic Framework or for requesting new features. As this seems like more of a support question I am going to close this issue.
I urge that you ask this question on our forum or on our slack channel.
Thanks for using Ionic!


Can't extract Marp 0.0.14 download

Trying to extract the download of Marp 0.0.14 via tar xvf I get:
tar: locales/am.pak: Cannot open: Permission denied

And many more of the same error. Any file that's within a directory.

Thanks for your report. I have confirmed that 0.0.14 archives for Linux have the permission problem about directory.
It seems to like to the case reported in sindresorhus/gulp-tar#15. The current archives were generated by Windows.
As a workaround, I'm going to update Linux releases into re-built archives.

@puffnfresh We've updated Linux archives to fix the directory permission. I confirmed to work tar xvf correctly in each tars. We apologize for the broken archives.
SHA256
6f8b60a255ab8ea69b3ba27642b65fadd5632505ae9326103e26a0712d1ccac2  ./0.0.14-Marp-linux-ia32.tar.gz
441aaee337db19e800a0050ee30947e7f329ee9582c2f0b9fb9496de78ff745a  ./0.0.14-Marp-linux-x64.tar.gz

Perfect, thank you!


SW-5514: Added density settings button to all of the tables

Added density settings button to all of the tables
Combined density state to one hook

#2737  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tommylau523 and the rest of your teammates on  Graphite

Merge activity

Jun 18, 12:48 AM EDT: @tommylau523 started a stack merge that includes this pull request via Graphite.


Support for vue dynamic import components

Dynamically defined&imported component in vue files are reported as unused while it is actually used
// parent.vue
<script lang="ts">
import { defineComponent, defineAsyncComponent } from "vue";

const child1 = defineAsyncComponent(() => import("./child1.vue"))

export default defineComponent({
  components: {
    child1,
    child2: defineAsyncComponent(() => import("./child2.vue"))},
});
</script>

<template>
  <child1></child1>
  <child2></child2>
</template>

// child1.vue and child2.vue
<template></template>
<script lang="ts">
import { defineComponent } from "vue";
export default defineComponent({});
</script>

// knip.ts
const compiler = /<script\b[^>]*>([\s\S]*?)<\/script>/gm;

export default {
  ignore: '*.d.ts',
  entry: ['parent.vue'],
  project: '**/*.{ts,vue}',
  compilers: {
    vue: text => {
      const scripts = [];
      let match;
      while ((match = compiler.exec(text))) scripts.push(match[1]);
      return scripts.join(';');
    },
  },
};

Result:
Unused exports (1)
default  child2.vue

but child2.vue is used

:rocket: This issue has been resolved in v2.16.1. See Release 2.16.1 for release notes.

Thanks @levchak0910, there was indeed a case for import calls that didn't return default but anonymous (as if it was a side-effect import. Not specific to Vue, but added Vue fixtures nonetheless for extra test coverage.

@webpro thanks for a quick fix )
and for the project overall, I was looking for such a project for a long time and finally found, it works perfectly )

This does not detect when import is passed to a function. @webpro Should I create a separate issue for this?
Example of using Quasar Dialog plugin:
function showDialog(componentImport) {
  Dialog.create({
    component: defineAsyncComponent(componentImport),
  })
}

showDialog(() => import('./DialogComponent.vue'))

This does not detect when import is passed to a function. @webpro Should I create a separate issue for this?

Yes please


feat(ProgressBar): add rating variant

Overview

Adds a rating variant.

To be used for the ratings distribution on the revamped course landing page.
PR Checklist

[x] Related to designs: https://www.figma.com/file/mAzeq3F7H9Ior4wCIL0oZl/Experiments---Ratings-and-Reviews?node-id=640%3A74455&t=pYyeJGq6C3ypdZIj-0
[x] Related to JIRA ticket: REACH-2240
[x] I have run this code to verify it works
[ ] This PR includes unit tests for the code change
[ ] This PR includes testing instructions tests for the code change
[ ] The alpha package of this PR is passing end-to-end tests in all relevant Codecademy repositories

Testing Instructions

Visit /?path=/docs/atoms-progressbar--progress-bar.
Confirm there is a new section for the Rating variant. The progress bar should be yellow and the background should be white.

Turn on VoiceOver. Tab into the example of the ratings bar. Confirm the screenreader announces the progress bar as "75% of ratings" instead of "Progress: 75%".

PR Links and Envs
NOTE: below are gamut bump PRs since our team is still in the process of building the section that will house the ratings distribution, which will live in portal-app

Repository
PR Link
PR Env

Monolith
Monolith PR
Monolith Env

Portal
Portal Link
Portal Env

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.229-alpha.3037dd.0@codecademy/gamut-labs@33.7.1-alpha.3037dd.0@codecademy/gamut@51.4.0-alpha.3037dd.0@codecademy/monaco@0.6.104-alpha.3037dd.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6372b9bb3fb2bd17ac085657--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.230-alpha.3bc082.0@codecademy/gamut-labs@33.7.2-alpha.3bc082.0@codecademy/gamut@51.4.1-alpha.3bc082.0@codecademy/monaco@0.6.105-alpha.3bc082.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6372be0e3fb2bd1bac08565e--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.230-alpha.bed857.0@codecademy/gamut-labs@33.7.2-alpha.bed857.0@codecademy/gamut@51.4.1-alpha.bed857.0@codecademy/monaco@0.6.105-alpha.bed857.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6372c1c9cee60a281cd06008--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.231-alpha.5a25fa.0@codecademy/gamut-labs@33.7.3-alpha.5a25fa.0@codecademy/gamut@51.4.2-alpha.5a25fa.0@codecademy/monaco@0.6.106-alpha.5a25fa.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6373ec6ef9a609078aff0406--gamut-preview.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://6374073312e31e2a6ace321c--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.231-alpha.2dfe3b.0@codecademy/gamut-labs@33.7.3-alpha.2dfe3b.0@codecademy/gamut@51.4.2-alpha.2dfe3b.0@codecademy/monaco@0.6.106-alpha.2dfe3b.0<EMAIL_ADDRESS>
📬Published Alpha Packages:@codecademy/gamut-kit@0.6.231-alpha.f9d116.0@codecademy/gamut-labs@33.7.3-alpha.f9d116.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://63754b1694bfde50a482240e--gamut-preview.netlify.appDeploy Logs


refactor

Looking for feedback on this before I merge. Please let me know if you experience issues.
Edit: I plan on re-visiting pull requests after this is merged, I'm sorry for any inconvenience to anyone who did PRs, but I wanted to at least get this package updated and maintainable first.

I've had some success with automated testing here: https://github.com/willstott101/django-sublime-syntax
Would it be helpful if I open a PR which includes tests? - A huge improvement to maintainability IMO

@willstott101 that would be great! thanks!


Bluetooth: host: zephyr writes to disconnected device and triggers a bus fault

Describe the bug
I am trying to implement caching of a static Gatt database, and at first it seems to work, but when disconnecting the device, I get a Bus fault.
on the first connect, the disconnect is working (service discovery is launched before), on the second connect, service discovery is not launched, and I get this upon disconnecting:
<inf> bbox: disconnecting bbox...
[00:02:24.383,575] <inf> bbox: err:0
[00:02:24.383,636] <dbg> bt_att.bt_att_recv: Received ATT chan 0x2000eac0 code 0x13 len 0
[00:02:24.383,636] <dbg> bt_att.att_handle_write_rsp:
[00:02:24.383,697] <dbg> bt_att.att_handle_rsp: chan 0x2000eac0 err 0x00 len 0:
[00:02:24.383,697] <dbg> bt_att.bt_att_req_free: req 0x2001cd48
[00:02:24.383,697] <dbg> bt_att.att_req_send_process: req 0x2001cd38
[00:02:24.383,697] <dbg> bt_att.bt_att_chan_req_send: req 0x2001cd38
[00:02:24.383,728] <dbg> bt_att.chan_req_send: chan 0x2000eac0 req 0x2001cd38 len 3
[00:02:24.383,728] <dbg> bt_att.chan_send: code 0x02
[00:02:24.383,728] <err> bt_conn: not connected!
[00:02:24.506,958] <dbg> bt_att.bt_att_disconnected: chan 0x2000eac8 cid 0x0004
[00:02:24.506,958] <dbg> bt_att.att_chan_detach: chan 0x2000eac0
[00:02:24.507,019] <dbg> bt_att.att_handle_rsp: chan 0x2000eac0 err 0x0e len 0:
[00:02:24.507,019] <dbg> bt_att.bt_att_req_free: req 0x2001cd38
[00:02:24.507,019] <dbg> bt_att.att_req_send_process: req 0x2001cd38
[00:02:24.507,049] <wrn> bt_att: Not connected
[00:02:24.507,049] <dbg> bt_att.bt_att_req_free: req 0x2001cd38
[00:02:24.507,049] <dbg> bt_att.bt_att_req_free: req 0x2001cd48
[00:02:24.507,049] <err> os: ***** BUS FAULT *****`

the same thing on the first connect:
bbox: disconnecting bbox...
[00:02:10.993,530] <inf> bbox: err:0
[00:02:10.993,591] <dbg> bt_att.bt_att_recv: Received ATT chan 0x2000eac0 code 0x13 len 0
[00:02:10.993,591] <dbg> bt_att.att_handle_write_rsp:
[00:02:10.993,621] <dbg> bt_att.att_handle_rsp: chan 0x2000eac0 err 0x00 len 0:
[00:02:10.993,652] <dbg> bt_att.bt_att_req_free: req 0x2001cd48
[00:02:11.117,492] <dbg> bt_att.bt_att_disconnected: chan 0x2000eac8 cid 0x0004
[00:02:11.117,523] <dbg> bt_att.att_chan_detach: chan 0x2000eac0
[00:02:11.117,584] <dbg> bt_att.bt_att_released: chan 0x2000eac0
[00:02:11.117,614] <inf> bthandler: dc callback
[00:02:11.117,645] <inf> bthandler: Disconnected (reason 22)`

and the same thing, but I dont skip service discovery, but launch it and do nothing ( just return GATT_ITER_STOP)
bbox: disconnecting bbox...
[00:00:22.817,535] <inf> bbox: err:0
[00:00:22.817,749] <dbg> bt_att.bt_att_recv: Received ATT chan 0x2000ead0 code 0x13 len 0
[00:00:22.817,779] <dbg> bt_att.att_handle_write_rsp:
[00:00:22.817,810] <dbg> bt_att.att_handle_rsp: chan 0x2000ead0 err 0x00 len 0:
[00:00:22.817,840] <dbg> bt_att.bt_att_req_free: req 0x2001cd48
[00:00:22.817,840] <dbg> bt_att.att_req_send_process: req 0x2001cd38
[00:00:22.817,840] <dbg> bt_att.bt_att_chan_req_send: req 0x2001cd38
[00:00:22.817,840] <dbg> bt_att.chan_req_send: chan 0x2000ead0 req 0x2001cd38 len 3
[00:00:22.817,871] <dbg> bt_att.chan_send: code 0x02
[00:00:22.817,871] <err> bt_conn: not connected!
[00:00:22.941,680] <dbg> bt_att.bt_att_disconnected: chan 0x2000ead8 cid 0x0004
[00:00:22.941,680] <dbg> bt_att.att_chan_detach: chan 0x2000ead0
[00:00:22.941,711] <dbg> bt_att.att_handle_rsp: chan 0x2000ead0 err 0x0e len 0:
[00:00:22.941,741] <dbg> bt_att.bt_att_req_free: req 0x2001cd38
[00:00:22.941,741] <dbg> bt_att.att_req_send_process: req 0x2001cd38
[00:00:22.941,741] <wrn> bt_att: Not connected
[00:00:22.941,772] <dbg> bt_att.bt_att_req_free: req 0x2001cd38
[00:00:22.941,772] <dbg> bt_att.bt_att_req_free: req 0x2001cd48
[00:00:22.941,772] <dbg> bt_att.bt_att_req_free: req 0x2001cd58
[00:00:22.941,833] <dbg> bt_att.bt_att_released: chan 0x2000ead0
[00:00:22.941,864] <inf> bthandler: dc callback
[00:00:22.941,894] <inf> bthandler: Disconnected (reason 22)`

it is 100% reproducable.
To Reproduce
one should be able to reproduce this, by doing the same thing as I described.
If its not possible to diagnose this without an example, I will try to make one, but its difficult because I cannot share the code and have to write a new example for it.
Impact
latency issue, not a show stopper but its bad.
Environment (please complete the following information):
Zephyr version 2.6.0 is being used, I cannot update to 2.7.0 for now. but I also didnt see any release notes that could solve this.

@CodingGhost Thank you for your report! A minimal example would be really helpful! Can you provide that?

sorry, I have been busy and forgot about it. I will try to do it tomorrow.

the Problem was caused by
SYS_SLIST_FOR_EACH_CONTAINER_SAFE in att.c  iterating too often (more than there were requests).
this PR fixes it: #39507
thanks to @carlescufi for helping me out!


global: removal of Flask-Security usage

Removes Flask-Security usage with other alternatives from already
existing dependencies.

Signed-off-by: Leonardo Rossi<EMAIL_ADDRESS>

@jirikuncar  I reverted the changes for login_user and logout_user.
Now tests are passing.

ping @jirikuncar

LGTM

ping @jirikuncar I set >0.3.2. :shipit: ?

@jirikuncar :shipit: ?

LGTM