[sw] DIF Peripheral Reset Behaviour

There has been a longstanding question about the behaviour of _init functions in DIFs, and whether they should reset the peripheral registers or not.
As committed DIFs stand today (i.e. UART, GPIO, SPI device, and PLIC), _init does reset the hardware peripheral (by writing zeroes or other equivalent values to all registers), which means each stage in the boot is resetting the peripheral.
However, there are certain peripherals we do not want to do this with (padctrl, pinmux), and in general it seems that the DIFs should provide the programming model that _init is just inheriting a peripheral and its existing state (which may or may not be a 'good' or known state), and will reconfigure based on the needs of the current boot stage.
The reason we have been resetting has been so that interrupts are not triggered in one stage and serviced in a later stage, but we think this can be accomplished by disabling MIE at the end of each stage, and letting the next stage re-enable MIE when it has reconfigured its interrupts.
Having discussed this, we think the new approach will be:

Do not trust existing peripheral interrupt state (pending and intr_enable need to be cleared before MIE is re-enabled).
All other peripheral state is left as it was in the previous state, and can be explicitly reconfigured by DIF API calls.

This would mean _init must not blindly write zeroes over all existing state. If it has information as to how to reconfigure the peripheral, it can. And resetting the interrupt state should not happen in _init, it should happen with explicit API calls.
This should be compatible with a convention where future boot stages do not have to trust previous boot stages to leave peripherals in a known good state, but they also do not have to reconfigure them on _init.
@gkelly and I would welcome feedback on this proposal for DIF initialization, specifically around whether this is compatible with the existing security implications.
We realise it will change the boot stage handoffs slightly, which will require updates to the CRT.

Some earlier attempt to tackle this issue #1505 .

Do you think including a convenience function that does a reset would be useful (in particular for padctrl you could give it a default attribute setting you want applied to all pads for instance)?

The problem is that you don't know exactly how peripheral was configured. So, unless we want to take the peripheral exactly as it is, we would have to completely reset the whole peripheral anyway, even for minimal configuration.
I guess there's no issue with doing:
init
reset

instead of just
init
I don't think this adds much though. We could just keep reset on init as default for some peripherals and not the others.

I think this is a pretty good idea, though I wonder if we can't do something like the following, closely following what Silvestrs suggests:

Require a dif_ip_new(mmio_region_t, dif_ip_t *), which initializes base_addr and any other DIF fields.
Require a dif_ip_reset(const dif_ip_t *), which clobbers all interrupt state and instructs the hardware to abort all transactions and operations. Quite a few DIFs have one of these already, but it just gets called by init().
Require a dif_ip_configure(const dif_ip_t *, dif_config_t), which performs configuration without clobbering any other state (control registers would get clobbered, but not, say, IRQ registers).

However, if we're prescribing this exact interface for all IPs, we should probably prescribe an interface for IRQs as well, since those are pretty closely related. I think the following is roughly what we seem to be converging on, for the IRQs of a "simple" peripheral (i.e., not plic). I'm not saying we should do exactly this, but we might want to start thinking about the common pattern.

dif_ip_irq_get() produces whether the IRQ has fired.
dif_ip_irq_clear() clears a single IRQ bit. (Maybe we want a "clear all", as well?)
dif_ip_irq_set_enable() sets the enable bit for a given IRQ. (DIF users can't query individual bits).
dif_ip_irq_force(), which forces a particular IRQ (for DIFs which have an IRQ_TEST register).
dif_ip_irq_save(), which saves the enablement state and then clears the enable register. (Call with a NULL out-param to clear all when you don't plan to re-enable.)
dif_ip_irq_restore(), which resets the enablement state to a state previously returned by save().

In as much as possible, it'd be great to standardize this programming model, not just for readability, but because it would make it possible to write shorter tests (rather than write a full tedious test for all these IRQ routines for every IP, for example, we can write general test harness that tests each function in the same way).

In testing, it is known that a peripheral is being initialized for the very first time. So resetting the CSRs is not needed (wastes sim time / resource usage). Just from that perspective, my preference it to not reset the CSRs within _init but provide a separate _reset routine instead.

@silvestrst (for gmail filters)

For peripherals that don't need to track any states, it seems like we are roughly converging to an API with create/new, config, and reset along with disabling and enabling MIE (I didn't want to reiterate my earlier comment on this but you can read it here).
But if we need to support this for a peripheral that has some sort of state tracking, either internally or in its dif_<peripheral>_t struct, we probably need to wait until the peripheral reaches some safe state or reset it to such a state before or after the handoff. If you agree, then should this be handled in config or some other function like dif_*_init_after_handoff (imagine we have a better name)?

I need to read all the feedback above, though I think we might be converging on something.
One thing to note is how Tock separates init from config, which we should probably pay attention to.
One of the thoughts I've been having is that potentially _init should explicitly not be allowed to write anything out to hardware registers, and is only for configuring parameters which are relevant for addressing the registers etc. This fits with what's needed for rv_timer, and also for usbdev (the two peripherals with the most complex DIF state, the former has parameters, the latter has a stack of buffers to maintain in the DIF itself). I think almost every other DIF only needs its base address in the initialisation call, as it doesn't maintain other state, but I might have overlooked something like spi_dev (I have, and I need to think further about the other fields in dif_spi_device_t which look to be replicating some HW state).

@moidx @timothytrippel
Closing this since part of this issue is based on a misunderstanding around DIFs and production code. Regarding init/config we settled on:

dif_ip_init(): Initializes the dif_ip_t struct.
dif_ip_configure(): Configures the peripheral.

Any other peripheral-specific functionality, e.g. resetting buffers, are implemented a needed.


Cross package dependencies

@eszpotanski thanks for having a look at https://github.com/The-OpenROAD-Project/bazel-orfs/pull/68, https://github.com/The-OpenROAD-Project/bazel-orfs/pull/69.
I hacked together these commits to solve two problems I had when trying to use bazel-orfs.

Using verilog_files from other packages.
Using macros from other packages.

In order to easily get path to files from cross-package labels, I tried to use $(location <label>) expansion. Using this, any path that is to be included in a config.mk target, will be a dependency of the config.mk target.
I have made an alternative implementation that does not rely on $(location <label>) expansion here, but I wonder if the $(location <label>) expansion version isn't easier?
I've tried to clean up the hacks in https://github.com/The-OpenROAD-Project/bazel-orfs/pull/68, https://github.com/The-OpenROAD-Project/bazel-orfs/pull/69 for upstream in this pull request.

You can run buildifier -lint warn -r . to format Bazel files and add docstrings for visibility param to fix Lint Bazel files CI

Thanks, fixed the linter issues. Is there anything else you think should be fixed?


Check if all concurrent requests have been completed

Hi. I'm trying to launch custom completion handler as soon as all concurrent requests are finished. Something like this (I deleted unimportant code to make it easier to read):
class APIManager {
    class var sharedInstance: APIManager {
        struct Static {
            static var instance: APIManager?
            static var token: dispatch_once_t = 0
        }

        dispatch_once(&Static.token) {
            Static.instance = APIManager()
        }

        return Static.instance!
    }

	func downloadAllData(allDataDownloadedCompletionHandler:(Any?)->Void) {
		var downloadRequests:[Request] = [Request]()
		var completionHandlerCounter = 0
		var allData = [AnyObject]()

		let requestCompleted: (Bool, AnyObject?)->Void = { downloaded, data in
			if downloaded && data != nil {
				// append downloaded data to result list
			    allData.append(data)
			}

		    // check if all requests has been already completed
		    completionHandlerCounter = completionHandlerCounter + 1
		    if completionHandlerCounter < downloadRequests.count {
		        return
		    }

		    // all requests completed
		    println("All data downloaded")
			allDataDownloadedCompletionHandler(allData)
		}

		let types = ["one", "two", "three"]  // there are actually about 10 requests called, but to make it simple I set it to 3
		for type in types {
			downloadRequests.append(self.downloadDataForType(type, completionHandler: requestCompleted))
		}
	}

	func downloadDataForType(type:String, completionHandler:((Bool, AnyObject?)->Void)) -> Request {
		return Alamofire.request(Router.TypeData(type: type)).response({ (request, response, xmlResponse, error) -> Void in
            // request finished
			println("Data for type \(type) downloaded")

            // let's parse response in different queue, because we don't want to hold main UI queue
			var db_queue = dispatch_queue_create("db_queue", nil)
                dispatch_async(db_queue, {
				if response?.statusCode == 200 {
					saveToDatabase(xmlResponse)

                    // IT CRASHES HERE !!!
					return completionHandler(true, xmlResponse)
				}
				return completionHandler(false, nil)
			})
		})
	}
}

As you can see, APIManager is a singleton class and I am downloading data (running multiple concurrent asynchronous requests) with call
APIManager.downloadAllData(myCompletionHandler)

It works on simulator, but in Release version it use to fall often (not always) and in crashlog there is an error with this message:
partial apply forwarder for reabstraction thunk helper from @callee_owned (@unowned Swift.Bool, @in protocol<>?) -> (@unowned ()) to @callee_owned (@in (Swift.Bool, protocol<>?)) -> (@out ()) (APIManager.swift:0)

You can check full stacktrace here: http://pastebin.com/mJRLUkEe
I don't understand what is going on. Why does it crash? Why does it crash on release version only? And what does this error even mean?
Any help is very very appreciated. Improvements or another idea how to check if all concurrent requests have been completed are welcome as well. Thank you very much.

Sorry to bring this up again, but I'm trying to synchronize groups of requests that have to run in sequence, e.g.
[ group1:
  [ req1: ========>     ]
  [ req2: ====>         ]
  [ ...]
]
// -- sync
[ group2:
  [ req1: =====>        ]
  [ req2: ==>           ]
  [ ... ]
]
// -- sync and exit

This procedure is supposed to run without any user interaction, in some background thread (actually, it's a classic offline data sync, with interdependencies between objects), and should signal completion in the very end.
I tried:

dispatch semaphores (dispatch_semaphore_*): this doesn't seem to work, as the executing thread gets stuck in dispatch_semaphore_wait while the Alamofire thread seems to not be resumed at all (I'd guess that's interference with Alamofire's internal dispatch groups)
dispatch groups (dispatch_group_*): this doesn't mix with Alamofire's dispatch group (resulted in INVOPs, most likely because of races for the queue)
extending the Alamofire Manager by a wait() function that waits until the queue completes.  I couldn't get this to work either.

Is there any proper way of doing this kind of synchronization?  I would rather not resort to q-style promises and deferreds, as it makes things unnecessarily complex.  An help appreciated, thanks!

@sikoried I hate to say it but I think you're really overthinking it. @mattt lays out some great ways to attack this problem which are all much easier than trying to use semaphores and / or groups to try to solve a threading issue that doesn't exist. All the requests return back to the main queue (unless you provide your own dispatch queue), so threading is not an issue you need to deal with.

Ok, I must have missed those, so any help appreciated :-)  Meanwhile, I figured out that I can use dispatch_group_* as
let group: dispatch_group_t = dispatch_group_create()

dispatch_group_enter(group)
Manager.sharedInstance.request(...).responseSwiftyJSON { (req, response, json, error) in
  // ...
  dispatch_group_leave(group)
}

dispatch_group_notify(group, dispatch_get_main_queue()) {
  NSLog("All calls complete")
}

Which works, however, it's again using a callback block which is what I want to avoid.  Using dispatch_group_wait(group, DISPATCH_TIMEOUT_FOREVER) instead of dispatch_group_notify results in the thread being stuck in wait, presumably because it's executed before the request is processed.  It probably doesn't belong here, but I couldn't find a solution elsewhere, but is there a way to have the thread yield, or have Alamo put the request on a separate background queue (that's independently executed) so that the main thread can actually wait?

@sikoried have you ever found a good solution to this?
I'm running into a similar problem right now.

This is because responseSwiftyJSON was dispatched to main queue, do this and your problem is solved.
        return response(queue: dispatch_get_global_queue(QOS_CLASS_DEFAULT, 0),responseSerializer: User.userResponseSerializer,
            completionHandler: completionHandler)

Thanks, @Nick-The-Uncharted, that solved my problem. All along, I thought it was an Alamofire issue when really it was SwiftyJSON. Using SwiftyJSON's response dispatched to the main queue (instead of the default) allowed me to wrap the Alamofire function in a dispatch group with dispatch_wait, and not hang the app.


StorageLoader: only attempt COPY if enriched events exist to be loaded

This was not a behavior of StorageLoader in its last version.


added optional node_id to MQTT discovery

Description:
This PR adds support for an optional <node_id> level to MQTT discovery topics. This supports all config topics which match the pattern <prefix_topic>/<component>/[<node_id>/]<object_id>/config.
The purpose is to give other clients more means to only subscribe to their own command topics (e.g. when switches and/or lights are involved) by using one single wildcarded subscription topic like homeassistant/+/<own_node_id>/+/set instead of subscribing to every topic they're interested in.
When multiple MQTT clients are involved, this will minimize the load on them because they'll only get their own topics forwarded by the MQTT server.
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#2840
Checklist:

[x] Documentation added/updated in home-assistant.github.io
[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] Tests have been added to verify that the new code works.

Hi @AlexMekkering,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

I've reverted the matching algo of the object_id (and treated the node_id alike) but I don't see why it should matter; the object_id isn't used for anything other then checking whether it was already discovered, it isn't passed to async_load_platform.

It's called object_id and thus has to match our object id validation. Only that way we could consider using it in the future too.


Crackling noise / distorted sound from USB DAC

Describe the Issue (If applicable)
Very loud crackling noise / distorted sound from USB C headphones connected on the OTG port.
How can the issue be reproduced? (If applicable)
Connect USB C headphones to OTG port on your device, all menus, videos, and games have very loud distorted or crackling sound.
I only have a RG351MP, but I suppose it's a problem for all RK3326 devices.
What device are you using?
Anbernic RG351MP.
What version of ArkOS are you on?
Arkos Version: ArkOS 2.0 (120082023)
Anything else you'd like to include that may help to review this issue or feature request?
I've fixed it by editting .asoundrc and .asoundrcbak under home/ark and change sample rate from 44100 to 48000.
Now I have perfect audio.
Maybe this can help somebody else with the same problem. Regards.

Oh interesting.  I didn't encounter this on any of my units but I will note this.  Thank you for sharing


I can't define relation belongsToMany

Describe the bug
I have two models linked by a bridge table and I got the error this.relation(...).localKey is not a function
Steps to reproduce the bug

Define models [...]

Modelo File:
import { Model } from '@vuex-orm/core'
import FileTag from './FileTag'
import Tag from './Tag'

export default class File extends Model {
    static entity = 'files'

    static fields () {
        return {
            id: this.attr(null),
            path: this.string(),
        }
    }
}

Modelo Tag:
import { Model } from '@vuex-orm/core'
import FileTag from './FileTag'

export default class Tag extends Model {
    static entity = 'tags'

    static fields () {
        return {
            id: this.attr(null),
            name: this.string(),
            files: this.belongsToMany(File, FileTag, 'tag_id', 'file_id')
        }
    }
}

Modelo FileTag:
const { Model } = require('@vuex-orm/core')

export default class FileTag extends Model {
    static entity = 'file_tag'

    static primaryKey = ['file_id', 'tag_id']

    static fileds () {
        return {
            file_id: this.attr(),
            tag_id: this.attr()
        }
    }
}

Create data [...]

await File.create({
    data: {
        path: '/home/sarmancoder/notes.txt',
        tags: [
            { name: 'firsttag' }
        ]
    }
})

Retrieve data [...]
No data is retrieved
See error
this.relation(...).localKey is not a function

Expected behaviour
To watch the file with the tags created, however this throws an error...
Versions

Vuex ORM: 0.36.4
nuxt 2.15.8 (in the package.json there is no vue dependency...)

Link to minimal reproduction
Here is the branch where I have the error and where I am testing VuexORM

Looks like you’re creating a relation that requires primary keys at both ends, without actually providing any keys.
If you can’t issue primary keys to reference in the join table, consider having File and Tag primary keys as uid fields, not generic attr fields.

The problem was that in the Tag model File not was an ORM class...


chore(main): release 1.0.2

:robot: I have created a release beep boop
1.0.2 (2024-02-07)
Bug Fixes

version (a769f5e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/RobbieL-nlp/cached_field/releases/tag/v1.0.2 :sunflower:


MSI GT72 Keyboard Regions

Hello.
First of all I would like to thank you for all the effort you've put into this. It's super useful and works brilliantly!
One issue (which isn't really your fault, as this is probably something new), is that the new GT72 notebook has some extra regions that being lit by the same engine. It's a rectangle around the touchpad and 2 led strips on the side of the laptop casing.
I would imagine it would be easy to add 2 more regions in your code for these 2 new areas. Please let me know how I can be of any help with this.
EDIT: I tried adding regions 4 and 5 in constants.js but unfortunately that did not work :(
I should also mention that these areas do light up as 'red' which I believe is the default. It would be nice however if I could set them to match the keyboard. I don't really like my keyboard to look like a rainbow so I've settled for everything red for now.
Regards,
Dimitris

Any recent progress on this? Do you think it's possible for the new regions to be added in?

I have no access to that particular keyboard - I got the 2015 Ghost pro keyboard recently and it does not have the extra regions.
I would not know how to test or run it other than looking at the code.

Would you be interested in fiddling around on my machine using teamviewer?
We could arrange something like that if you have some spare time and want
to get the GT72 fully supported :)
On Tue, Feb 10, 2015 at 9:27 PM, Steve Lacy<EMAIL_ADDRESS>wrote:

I have no access to that particular keyboard - I got the 2015 Ghost pro
keyboard recently and it does not have the extra regions.
I would not know how to test or run it other than looking at the code.
—
Reply to this email directly or view it on GitHub
https://github.com/wearefractal/msi-keyboard/issues/9#issuecomment-73765678
.

That might work - lets set it up over email

sorry to ask, but was there any progress after the teamviewer session? I have the same keyboard and using the latest version (0.0.4) I'm not getting these regions, just left, middle and right for what I can see in the documentation and a quick peek on the code.

Could you try with the newest release?
I'll reopen if the issue persists

I'd be more than willing to try but I had to update my nodejs version to 4
so I now can't get this to work at all because of the other library issue.
On 5 May 2016 02:23, "Steve Lacy"<EMAIL_ADDRESS>wrote:

Could you try with the newest release?
I'll reopen if the issue persists
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/stevelacy/msi-keyboard/issues/9#issuecomment-217054120

it is fixed

Hello.
I just found some time to try this. Sorry it took so long.
I installed msi-keyboard-CLI with npm, which pulled your 0.3.0 version as a
dependency.
After running sudo msikeyboard -c green I get:
matanis@sovereign ~ $ sudo msikeyboard -c green
/usr/local/lib/node_modules/msi-keyboard-cli/msi-keyboard-CLI.js:348
keyboard.color (section, keyboardArgs[section]);
^
TypeError: keyboard.color is not a function
at
/usr/local/lib/node_modules/msi-keyboard-cli/msi-keyboard-CLI.js:348:18
at FSReqWrap.cb [as oncomplete] (fs.js:216:19)
Not sure if this is a CLI problem instead
On Thu, May 5, 2016 at 5:42 PM, Steve Lacy<EMAIL_ADDRESS>wrote:

it is fixed
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/stevelacy/msi-keyboard/issues/9#issuecomment-217206307

@stevelacy hello. I just tried what I think it's the most recent (0.3.1) and it does work in the sense that it does light up the keyboard, but it doesn't light up all of the regions. I checked the constants and it just has 3 regions, which makes sens on why it wouldn't light up the rest

@herbert-mutterwhooze I cloned your repo, did an npm install inside of the project root, went to examples folder and ran node sample.js and got the following output:
`node sample.js
/home/jc/msi-keyboard/lib/setColor.js:24
keyboard.sendFeatureReport(activate);
^
Error: could not send feature report to device
at Error (native)
at module.exports (/home/jc/msi-keyboard/lib/setColor.js:24:11)
at HID.board.color (/home/jc/msi-keyboard/lib/findKeyboard.js:14:3)
at Object. (/home/jc/msi-keyboard/examples/sample.js:3:10)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)`
Is your model a GT72-2QE ? the code from @stevelacy  works but doesn't light up the rest of the areas described in your code


radar_omnipresense: 0.1.0-2 in 'lunar/distribution.yaml' [bloom]

Increasing version of package(s) in repository radar_omnipresense to 0.1.0-2:

upstream repository: https://github.com/SCU-RSL-ROS/radar_omnipresense.git
release repository: https://github.com/SCU-RSL-ROS/radar_omnipresense-release.git
distro file: lunar/distribution.yaml
bloom version: 0.6.4
previous version for package: 0.1.0-1

radar_omnipresense
* commiting the 2011 api version of the code. The branch RapidJSON_preserve contians 2015 api version. That branch should not be modified at all
* altered findrapidjson
* deleted old findrapidjson
* updated CMakeLists and utest to 'pass'
* adding files for very simple 'unit testing'
* Updated the readme to no longer say that you need to download and install LinuxCommConnection for the package
* modified change log
* Added the lib file so that linuxcommconnection is no longer a depedency issue
* Added lib file so that linnux comm connection is no longer a dependency issue
* address RapidJSON dependency
* added raw msgs
* Prepping for ros package submittal
* Contributors: Garren Hendricks, Jim Whitfield
* Added the lib file so that linuxcommconnection is no longer a depedency issue
* address RapidJSON dependency
* added raw msgs
* Contributors: Garren Hendricks, Jim Whitfield

@garrenhendricks If you wish to release 0.2.0, you need to follow the Releasing a new version of a catkin package tutorial. Currently your release repository doesn't have any knowledge of 0.2.0

Old version of package. new pull request made for 0.2.0. Closing


Installation issue

Hi,
I stumbled upon your package and love to use it, as yours is Django 4.2-compatible.
However, I cannot install it with the recommended command pip install git+git://github.com/unt-libraries/django-controlled-vocabularies.git
pip 23.2.1
python 3.11.5
Django 4.2.5
git 2.42.0, 2.39.2
os MacOS 13.6, Debian 12.1
shell zsh, fish
Output from MacOS, same goes for Debian:
.venv ❯ pip install git+git://github.com/unt-libraries/django-controlled-vocabularies.git
Collecting git+git://github.com/unt-libraries/django-controlled-vocabularies.git
  Cloning git://github.com/unt-libraries/django-controlled-vocabularies.git to /private/var/folders/y6/v8zpdv9n7qb4np29ywcd_m9r0000gn/T/pip-req-build-ohnzd982
  Running command git clone --filter=blob:none --quiet git://github.com/unt-libraries/django-controlled-vocabularies.git /private/var/folders/y6/v8zpdv9n7qb4np29ywcd_m9r0000gn/T/pip-req-build-ohnzd982
  fatal: unable to connect to github.com:
  github.com[0: <IP_ADDRESS>]: errno=Operation timed out

  error: subprocess-exited-with-error

  × git clone --filter=blob:none --quiet git://github.com/unt-libraries/django-controlled-vocabularies.git /private/var/folders/y6/v8zpdv9n7qb4np29ywcd_m9r0000gn/T/pip-req-build-ohnzd982 did not run successfully.
  │ exit code: 128
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet git://github.com/unt-libraries/django-controlled-vocabularies.git /private/var/folders/y6/v8zpdv9n7qb4np29ywcd_m9r0000gn/T/pip-req-build-ohnzd982 did not run successfully.
│ exit code: 128
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

My SSH keys for GitHub are all right. It may be my specific problem, but I was wondering if you can reproduce it.

I believe what you want to use to install with ssh is this:
pip install<EMAIL_ADDRESS>or, for https:
pip install git+https://github.com/unt-libraries/django-controlled-vocabularies
Those both worked for me. Hopefully that will resolve the issue for you!

Ah, I see that we've recommended that command in the README. I will correct that now. Thanks for pointing it out!

I've adjusted the README to fix the installation instructions and add some other potentially helpful instructions in the two commits below:
950bb17be5b17bc673176bfb24c2149105f22da8
6bec399c978d196800b131159dd07280f286fc16
Once again, thank you for bringing this issue to our attention!

Oh, I also didn't catch the protocol error! Thanks for that.
One question still, the package 5.0.0 installed with this method has requirement of lxml==4.9.1, even if the file requirements-common.txt is more loose with the version using ~=. lxml is at 4.9.3 at this point already.


Remove everything thin client

Hi guys,
i want to remove everything on the Windows 10 to be empty as a remote desktop PC.
is this script going to do the job ?
in the office we have some old PC, we use them just to connect to the remote desktop server.
Also we have a remote desktop Windows 10 Ent server and want to remove unincessery apps/add in.
which scripts to use for each device ?
Big thank you for the support

Try either Windows10Debloater.ps1 or Windows10DebloaterGUI.ps1 a shot.

It's removed just some services. Is there a way to remove everything like sysprep windows and remove everything.

It's removed just some services. Is there a way to remove everything like sysprep windows and remove everything.

Try using the new updated GUI to see if it works for your needs. I’m working on updating the SysprepDebloater file as well.


Python files do not get installed

In GitLab by @wxmerkt on Sep 13, 2019, 12:48
I have a local copy for the benchmarking. Python gets compiled and in the build folder under crocoddyl I see all .pyc. When I run make install, the install location only gets the boost-python wrapper, not the pyc files. I.e., the utils (biped etc) are not installed.
@nim65s Any ideas on how I can resolve this?

In GitLab by @cmastalli on Sep 13, 2019, 12:53
@wxmerkt side comment -- You need to install Pinocchio 2.1.7 for displaying the robots in gepetto viewer.
@nim65s it will make soon a release in robotpkg of Pinocchio 2.1.7

In GitLab by @nim65s on Sep 13, 2019, 13:04
@cmastalli : I thought that you did not want the utils to be installed. Right ?
About the release of pinocchio 2.1.7, the work is done on HPP and HPP-RBPRM, but I still need a day or two for the SoT.
@wxmerkt : the .pyc in the build directory are here for the unit tests. They are not meant to be installed.
Do you have an issue with the current setup ? Do you need the utils to be installed ? Or the .pyc ?

In GitLab by @cmastalli on Sep 13, 2019, 17:22
@wxmerkt these files are used internally for benchmarking and examples. We never planned to use for applications.
Do you think we should install them?

In GitLab by @wxmerkt on Sep 13, 2019, 18:11
They are required to run the examples (and benchmark). We either need:
(a) a note in the README that the PYTHONPATH needs to be manually to build/bindings/python for the examples to work,
(b) them being installed by default, or
(c) them being installed after setting an option BUILD_EXAMPLES to true
What do you think? The challenge is it causes friction if the examples do not run even after compiling/installing (... without figuring out which extra path to set to PYTHONPATH)

In GitLab by @nim65s on Sep 14, 2019, 09:00
Ok, so your issue is that you had troubles to run the examples, now it's clear :)
For the benchmark, we added make targets, eg. make benchmark-unicycle. This should have been documented, and we should have done the same for the examples.
@cmastalli : do you agree ?
@wxmerkt : would this suit your needs ?

In GitLab by @wxmerkt on Sep 14, 2019, 12:45
I think a CMake configuration option is better than a custom target. I.e., cmake [...] -DBUILD_EXAMPLES=ON and then the standard make, make install instead of having to configure, make, make special-target, make install.

In GitLab by @nim65s on Sep 15, 2019, 18:23
It depends on your goal. If you want to install the examples / benchmarks, yes, I agree, a CMake option is the best option. But if you just need to run the examples / benchmarks, I still think that a make target does the job : make test is a pretty standard thing.
The question is: how much do we want to distribute this code with the library ?
Boost / Eigen / Pinocchio standard installation packages are not coming with a script or a binary in your $PATH giving you a benchmark or an example, so for me they should be treated as unit tests: a make target, and not installed.
In Pinocchio, examples are treated as unit tests, and you can run them with eg. make example-interpolation-SE3, and nothing is installed.

In GitLab by @wxmerkt on Sep 16, 2019, 14:11
Whether a CMake option gets turned on or not for distribution is another question and I agree with keeping the library lean.
Mixing CMake options and extra targets that require make something would need to be at the very least document, particularly that it also requires manually setting the PYTHONPATH.
I'd personally prefer that if -DBUILD_EXAMPLES=ON, the examples will be built and installed. So that the workflow is only cmake .. -Dyouroptions, make, make install -- no other make something.

In GitLab by @cmastalli on Sep 17, 2019, 10:03

For the benchmark, we added make targets, eg. make benchmark-unicycle. This should have been documented, and we should have done the same for the examples.

I think it's an idea that doesn't hurt anyone, i.e. make example-xxx. I would also add that we should be able to pass arguments to the Python script (e.g. display, plot).
Generally speaking, I don't think users will run examples in this way. But our CI jobs can do it!

I think a CMake configuration option is better than a custom target. I.e., cmake [...] -DBUILD_EXAMPLES=ON and then the standard make, make install instead of having to configure, make, make special-target, make install.

I like the idea of having this cmake flag to install quadruped and biped scripts (or anything needed to run the examples). This could be disabled by default. Do you agree with this @nim65s?

In GitLab by @nim65s on Sep 17, 2019, 10:05
yes, I'll do that

In GitLab by @cmastalli on Sep 17, 2019, 10:06
great!

In GitLab by @cmastalli on Sep 19, 2019, 17:20
assigned to @nim65s

In GitLab by @cmastalli on Sep 19, 2019, 17:20
changed due date to October 18, 2019

In GitLab by @cmastalli on Sep 19, 2019, 17:20
changed due date to October 14, 2019

In GitLab by @cmastalli on Sep 20, 2019, 13:41
mentioned in merge request !221

In GitLab by @cmastalli on Sep 20, 2019, 13:44
assigned to @cmastalli and unassigned @nim65s

In GitLab by @cmastalli on Sep 25, 2019, 17:57
closed


Resolve PR feedback for #35228

I had #35228 set to auto-merge and forgot to undo that as I was resolving PR feedback. This PR is to resolve that PR feedback from @annelo-msft

API change check
API changes are not detected in this pull request.


[DDW-844] Fix redeem ITN rewards wallet dropdown / introduce disabled state to the Select component

This PR resolves issues introduced in PR https://github.com/input-output-hk/daedalus/pull/2816 and then reverted in PR https://github.com/input-output-hk/daedalus/pull/2891.
Screenshots
Before

After

Testing Checklist
Test Scenarios
Scenario 1: CSS styling has no outline but full background
Given I an on redeem ITN screen
When I observe the Redeem rewards to dropdown css styling
Then I observe the css styling has no outline
And the css styling has full background

Scenario 2: Dropdown remains enabled after phrase removed
Given I am on redeem ITN screen
And I have pasted valid wallet recovery phrase into text area
And Redeem rewards to dropdown is enabled
When I remove one or more phrase from the text area
Then the Redeem rewards to dropdown remains enabled
And the dropdown is functioning as expected

Scenario 3: Dropdown selection remains selected after changing valid recovery phrase to invalid
Given I am on redeem ITN screen
And I have pasted valid wallet recovery phrase into text area
And Redeem rewards to dropdown is enabled
And I have selected an option from the Redeem rewards to dropdown
When I remove one or more phrase from the text area
Or When I change the pasted valid recovery phrase to invalid recovery phrase
Then the Redeem rewards to dropdown remains enabled
And the previously selected dropdown option remains selected

Slack QA thread
[ ] Test

Review Checklist
Basics

[x] PR assigned to the PR author(s)
[x] input-output-hk/daedalus-dev and input-output-hk/daedalus-qa assigned as PR reviewers
[x] If there are UI changes, Alexander Rukin assigned as an additional reviewer
[x] PR has appropriate labels (release-vNext, feature/bug/chore, WIP)
[x] PR link is added to a Jira ticket
[x] PR is updated to the most recent version of the target branch (and there are no conflicts)
[x] PR has a good description that summarizes all changes
[x] PR contains screenshots (in case of UI changes)
[x] CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
[x] There are no missing translations (running yarn manage:translations produces no changes)
[x] Text changes are proofread and approved (Jane Wild / Amy Reeve)
[x] Japanese text changes are proofread and approved (Junko Oda)
[x] Storybook works and no stories are broken (yarn storybook)
[x] In case of dependency changes yarn.lock file is updated

Code Quality

[x] Important parts of the code are properly commented and documented
[x] Code is properly typed with flow
[x] React components are split-up enough to avoid unnecessary re-renderings
[x] Any code that only works in main process is neatly separated from components

Testing

[ ] New feature/change is covered by acceptance tests
[ ] New feature/change is manually tested and approved by QA team
[ ] All existing acceptance tests are still up-to-date
[ ] New feature/change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review

[ ] Update Slack QA thread by marking it with a green checkmark

seems like it breaks send screen again 😱

@alexander-rukin please have a look now, the PR was marked as WIP when you checked it :)


build: set minimum python version to 3.12

Summary
Resolves #1205. This does not remove deprecated code or code that can be upgraded. This can be done in separate PRs, this is the minimum work to create this breaking change for 3.0 so 3.12 remains as the minimum version for the future.

<!--
## This is a **Code Change**

- [ ] I have tested my changes.
- [ ] I have updated the documentation to reflect the changes.
- [ ] I have run `task pyright` and fixed the relevant issues.

In nextcord/utils.py we have

PY_310 = sys.version_info >= (3, 10)

if PY_310:
    from types import UnionType  # type: ignore

    # UnionType is the annotation origin when doing Python 3.10 unions. Example: "str | None"
else:
    UnionType = None

this can probably be replaced simply with
from typing import UnionType

now that we're moving to 3.12 as a baseline. Later on we can think about using 'native' annotations instead of importing them from typing but I think that sort of large scale refactor is well out of scope for this PR, and likely isn't worth it anyway. Approving since this is minor and insignificant, and shouldn't be a barrier to a release, but a small change is ideal.


-fincludes-quoted option

Hi!
I'm trying to use asn1c generated files with my custom Makefile. The problem in -fincludes-quoted flag.
Some of generated source files still use angle quotes instead of double. And should add include path in gcc to compile asn1 generated files. Is there a another solution for this?

It seems that some of support files(encoders and decoders) doesn't generated but actually copied from templates(/usr/local/share/asn1c)... that's why -fincludes-quoted option doesn't affect on this files

Yes. You can use the -S flag to asn1c to switch templates to your own modified version.


Use omnibus-toolchain 1.1.2 from S3

Rebased on top of v3.2.4

Failures on https://travis-ci.org/chef-cookbooks/omnibus/jobs/105087123 are transient, package related.


Builtin Error Metrics

Add the 'built-in' (ones that Scale loads in initial data) errors to the main metrics page by using a new 'is_builtin' field.
I'm undecided on the name of the 'is_builtin' field. Using 'is_system' would be consistent with Scale-loaded jobs, but I didn't know if that would be confusing with the error category of SYSTEM.

Add 'is_builtin' field to the error model, default false
Set the field to true in all of the errors loaded in by the initial data fixtures
Add the new field to appropriate error model serializers.
Add these builtin errors to the main metrics page. I think total count is the only metric that makes sense.

Merged into master


Italian v5 messages

@jasoniangreen could you add them? They are in the branch v5 at the moment.

Now in master


Added instructions to support #24.

Coverage remained the same at 96.77% when pulling a074e8cfc74f116f8f0f03138f897bf69612fb7e on feature/shib-sp-wayfless-doco into 775725d5b723eab5e49745d616571d3f27e87881 on develop.

Coverage remained the same at 96.77% when pulling 88cc9a8f643a2e57ff81dd918022d3d1692557e8 on feature/shib-sp-wayfless-doco into 775725d5b723eab5e49745d616571d3f27e87881 on develop.

Coverage remained the same at 96.77% when pulling 88cc9a8f643a2e57ff81dd918022d3d1692557e8 on feature/shib-sp-wayfless-doco into 775725d5b723eab5e49745d616571d3f27e87881 on develop.


Revising the typing of patterns during extraction

Issue #2595 reports how F* fails to insert Obj.magic when pattern matching terms whose ML type contains Obj.t, since their F* types cannot be expressed in ML.
This PR revises the way in which patterns are typed during extraction.
The change is documented in FStar.Extraction.ML.Term.extract_one_pat
Conceptually, the change involves a few things:

If the type of a scrutinee x:t does not have the same type as the pattern, then insert a magic around the scrutinee. Previously, this was not being done consistently, and magics were omitted in cases of nested patterns. E.g., if the ML type of x is Obj.t option and the pattern is Some (Some _) then although the type of the nested pattern Some _ is incompatible with the type of the scrutinee's field Some?.v (Obj.t), a magic would be omitted.

If the type of a pattern-bound variable in F* may be more precise than its ML type. E.g., as shown in some of the examples of #2595, a pattern bound variable may have type, say, bool in F* though its ML type is only Obj.t. This patch ensures that the variable is introduced into the ML typing environment at type Obj.t rather than bool, so that subsequent uses of that variable can be suitably wrapped with magic.  tests/bug-reports/Bug2595.fst provides more examples.

I got an everest green with this too.
https://github.com/project-everest/everest/actions/runs/2464754422
Thanks @TWal !


support constants

resolves #84

Ah, I'd forgot to write the tests... Oh man. I'll do them asap.

@felixfbecker Do you know why the tests fails? I don't know...

you added a new fixture, you need to increment the amount of files that are asserted to be indexed in the failing test

Okey, that's clear. Thanks.

Looks like there is a null Definition added to the index.

Yes, and I am asking myself why.

I would just put a breakpoint at Index::addDefinition() and go down the stack trace

okey, I'll do that. Thank you very much!

@felixfbecker Is that possible?

I wish PHP had the type safety of TypeScript. Maybe it's time to add type-hinted getters and setters to Definition.
Definition is currently created in DefinitionResolver::createDefinition.... I would set a breakpoint there.

I got it already.
SymbolInformation#fromNode won't work because it is returning null in line 77 before the define Erkennung(german here, I don't know the English) even can work.

I'll push now so I can see the tests. The tests on my pc differs a bit.

The commits were successfully commited. But I can't see them here. Has GitHub a go or something?

committed or pushed? ;)

actually both. Multiple times.

Okey. Curious error. Don't ask me.
git show :vendor/sabre/event/lib/EmitterTrait.php
fatal: Path 'vendor/sabre/event/lib/EmitterTrait.php' exists on disk, but not in the index.

fatal: Path 'vendor/sabre/event/lib/EmitterTrait.php' exists on disk, but not in the index.

fatal: Path 'vendor/sabre/event/lib/EmitterTrait.php' exists on disk, but not in the index.

fatal: Path 'vendor/sabre/event/lib/EmitterTrait.php' exists on disk, but not in the index.

Finally. Used force commit.

You have a lot of unwanted commits now and merge conflicts

Yep. I'll resolve them now. And I hope the tests won't fail.

You should pull latest master, then do an interactive rebase on it and throw away all the unwanted commits.

Ok. I'm sorry. I do not know how.

Make sure your master is up to date with upstream. Assuming your remote is named upstream: git fetch upstream master:master
Rebase on master: git rebase -i master
Delete all lines you don't want in your branch

Thanks...

okey, that didn't work like I expected.

Can I create a new pr without this mess?

Sure


IsEnabled doesn't apply to children as any XAML developer would expect

Setting IsEnabled to false has no effect on children elements. This is definitely against any other XAML philosophy (WPF, WP8, UWP) so I think documentation should clearly state this.

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

ID: 5bb5f557-1afd-1e2d-4f47-acf8dbaaa482
Version Independent ID: 96644a88-dd66-46a2-eb11-bcd13308cb9b
Content: VisualElement.IsEnabled Property (Xamarin.Forms)
Content Source: docs/Xamarin.Forms/VisualElement.xml
Product: xamarin
Technology: xamarin-forms
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

+1
Apparently this used to be a bug with Xamarin but was marked as "Resolved": https://xamarin.github.io/bugzilla-archives/43/43007/bug.html
Now I'm seeing it again: setting the IsEnabled property of a StackLayout does not disable the child controls

Is looks like there have been a couple issues logged about this on the Xamarin.Forms github
https://github.com/xamarin/Xamarin.Forms/issues/9121
Can you add some information to the above issue or create a new one with a repro of what you're seeing?


[1.16.1] Light Level overlay can be seen through blocks, walls.

Title^
Minecraft: 1.16.1
Forge: 32.0.88
Mod-Version: 1.18.0
Screenshot Example:

- Gbergz

This has been fixed in version 1.18.1

sorry to reopen a closed report, but it's also happening on the 1.15 version of the mod, should we see this fixed in 1.15 also please ?

Will be fixed in the More Overlays version 1.17.4

thank you for your quick support.

Can you check if the problem is solved in version 1.17.4?
Link: https://www.curseforge.com/minecraft/mc-mods/more-overlays-updated/files/3031100

still not fixed, it's different, but now it's showing above eveything, you can see the overlay over leaves, and you can see on the mutton on my screenshot that it's also affecting mobs now. xD
https://i.imgur.com/pWeamuK.png

Can you tell me which modpack you're playing on? (or a list of the mods if you're not using a modpack)

i use a custom modpack, you can find my modlist here : https://pastebin.com/gaJnZkpV

Thanks, but what is the modpack called and where can I download it. I need to replicate the issue

it's not availlable on CurseForge or other, but i can export it and give you the instance to import.

Great, I will close this issue again then. Let me know if you find any other strange issues with the mod.


evaluation problem

Dear author,
Thanks for your great work. When I tried to implement your result, I found the results are very odd. Can you help me to figure out why I got so high mAP values?

Hi, this evaluation result is reasonable due to our updated data annotation, and data pre-processing process, which has led to an improvement in the accuracy of the open source code compared to the results reported in the paper.

Hi, this evaluation result is reasonable due to our updated data annotation, and data pre-processing process, which has led to an improvement in the accuracy of the open source code compared to the results reported in the paper.

so this mAP value is correct?

这个map采用的是map50还是map50-95?

论文中提到map采用的是map50还是map50-95?

论文中说到训练只有12个epoch，个人感觉应该没有收敛吧

Dear author, Thanks for your great work. When I tried to implement your result, I found the results are very odd. Can you help me to figure out why I got so high mAP values?

请问你是使用未更新的xml标注文件进行测试的，还是使用coco格式的json文件转换得来的xml文件进行测试的。我训练UA-CMDet没能达到你那么高的精度：

请问为什么你们的json标注中有负数，负数是什么意思

亲爱的作者，感谢您的出色工作。当我尝试实现您的结果时，我发现结果非常奇怪。你能帮我弄清楚为什么我得到了这么高的 mAP 值吗？

请问你是使用未更新的xml标注文件进行测试的，还是使用coco格式的json文件转换得来的xml文件进行测试的。我训练UA-CMDet没能达到你那么高的精度：

我也想知道这个问题，我的map只有70左右，我是用论文中的测试集test来得到的map

Dear author, Thanks for your great work. When I tried to implement your result, I found the results are very odd. Can you help me to figure out why I got so high mAP values?

您好，如果想要复现这个项目，得到如图您的结果，除了参考readme外还需要什么步骤吗？您的结果是训练还是测试得出的呢？感谢您的回答。
Hello, if you want to reproduce this project and get your results as shown in the picture, are there any steps other than referring to the readme? Is your result from training or testing? Thank you for your answer.


Update Upload on Edit

Hello,
I've already search for solution and found that we need to delete the file first before update with new document but i've no idea on how to do that.
Ok, the situation is, i already upload a file and everything goes very well. All information, filename, dir, size and type has been successfully recorded to the database and i'm able to download the file back. However, when i do update the record, it seem like only filename were updated, but the dir, size and type is not update with the new uploaded record and the uploaded file seem like not uploading to the directory.
How can i solve this issues? how to delete the previous uploaded item? Seriously, this plugin is very good and i'm totally impressed with it.
btw, i'm using cake 2
Thanks.

Do you have a reproduction of this issue?

Model:
public $actsAs = array(
'Upload.Upload' => array(
'picture' => array(
'fields' => array(
'dir' => 'picture_dir',
'type' => 'type',
'size' => 'size'
),
'deleteOnUpdate' => true,
'deleteFolderOnDelete' => true,
'mode' => 0777,
'path' => '{ROOT}webroot{DS}files{DS}{field}{DS}',
)
)
);
View:
Form->create('User', array('role' => 'file')); ?>

Form->input('id', array('class' => 'form-control', 'placeholder' => 'Id'));?>

Form->input('User.picture', array(
'class' => 'form-control',
'label' => 'User Profile Picture',
'type' => 'file'));?>

Form->input('User.picture_dir', array(
'type' => 'hidden'));
?>

Form->input('User.type', array(
'type' => 'hidden'));
?>

Form->input('User.size', array(
'type' => 'hidden'));
?>

Form->submit(__('Submit'), array('class' => 'btn btn-default')); ?>

Form->end() ?>
Thanks for replying. I don't understand what you mean by reproduction of this issues. Basically i have search and found out that i need to delete the file first before update or do i missed anything? because when i edit, and upload new file, it only capture the file name (picture) but the file is not uploaded.
thanks.


assert site_pin ('I') not in ['HARD1', 'HARD0']

I'm trying to run fasm2bels for the attached design.  fasm.zip.  The bitstream was generated by Vivado 2019.2, and then the fasm created by bit2fasm.py.
PART_FAMILY = "artix7"
PART = "xc7a200tsbg484-1"
It looks like the code is following a route, and then gets to a section of code with this label:
    # There are no active pips upstream from this node, check if this is a
    # site pin connected to a HARD0 or HARD1 pin.  These are connected to the
    # global ZERO_NET or ONE_NET.

and then hits this assertion
assert site_pin in ['HARD1', 'HARD0'], (sink_node_pkey, tile,
AssertionError: (7997249, 'LIOB33_X0Y143', 'IOB_IBUF0', 'I')

https://github.com/SymbiFlow/symbiflow-xc-fasm2bels/blob/master/fasm2bels/make_routes.py#L562
It seems like it unexpectedly hitting an input pad?  Any insight on what would in the design would cause this?
Traceback (most recent call last):
  File "/usr/lib/python3.8/runpy.py", line 192, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.8/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/jgoeders/bfasst/third_party/fasm2bels/fasm2bels/__main__.py", line 4, in <module>
    main()
  File "/home/jgoeders/bfasst/third_party/fasm2bels/fasm2bels/fasm2bels.py", line 452, in main
    top.make_routes(allow_orphan_sinks=args.allow_orphan_sinks)
  File "/home/jgoeders/bfasst/third_party/fasm2bels/fasm2bels/models/verilog_modeling.py", line 2267, in make_routes
    for sink_wire, src_wire in make_routes(
  File "/home/jgoeders/bfasst/third_party/fasm2bels/fasm2bels/make_routes.py", line 701, in make_routes
    expand_sink(
  File "/home/jgoeders/bfasst/third_party/fasm2bels/fasm2bels/make_routes.py", line 589, in expand_sink
    expand_sink(
  File "/home/jgoeders/bfasst/third_party/fasm2bels/fasm2bels/make_routes.py", line 589, in expand_sink
    expand_sink(
  File "/home/jgoeders/bfasst/third_party/fasm2bels/fasm2bels/make_routes.py", line 562, in expand_sink
    assert site_pin in ['HARD1', 'HARD0'], (sink_node_pkey, tile,
AssertionError: (7997249, 'LIOB33_X0Y143', 'IOB_IBUF0', 'I')

I've found the issue.  The problem has to do with the PUDC pin on 7-series parts. The relevant problematic code is here: https://github.com/SymbiFlow/symbiflow-xc-fasm2bels/blob/3b72e6f5beb09d85d2ba2957282ef2cf13933b0c/fasm2bels/models/iob_models.py#L322-L328
The proper solution here is to emit the PUDC, and during cleanup remove it if nothing actually connects to it.  In your design, the PUDC pin is connected, so the code to simply skip it is broken.

OK, form what I can tell this PUDC pin is still an IOB33, but it just also functions as the PUDC pin during configuration.  I'm not sure that matters for fasm2bels.
Currently I've just commented these lines out, and the code continues to treat it as any other IOB.    Seems to be working fine, although it would be nice to verify somehow that this isn't causing problems elsewhere.   Not familiar enough with the code base to understand the implication of commenting this out.

OK, from what I can tell this PUDC pin is still an IOB33, but it just also functions as the PUDC pin during configuration. I'm not sure that matters for fasm2bels.

Like you say, the PUDC does things during configuration.  I believe the Vivado bitstream generator is emitting a PULLUP (or PULLDOWN) on the PUDC if the pin is unused.  When a design doesn't use the PUDC pin is run through fasm2bels, we don't want to emit a IBUF if that IBUF isn't actually part of the design.  When a design does use the PUDC pin, then the IBUF (or other) should be emitted.

Fixed in #63


Switch

Switch widget. See: https://www.google.com/design/spec/components/selection-controls.html#selection-controls-switch

Separated from #174

I'm not sure if adding Switch to Carbon is neccessary as there's SwitchCompat, which is pretty good and should work with Carbon without any changes. See: https://developer.android.com/reference/android/support/v7/widget/SwitchCompat.html
Let's keep this issue open for now.

tks

Moved to the project


[FLINK-14745] Add dependencies of job as list of URLs in config.

What is the purpose of the change
Currently, the PackagedProgram has methods that allow the "flattening" of the job jar, in case it contains other jars. This issue will allow to put the list of URLs in the configuration directly and independently from the PackagedProgram, so that then they can be picked up by the Executors.
Verifying this change
This change is already covered by existing tests and it should also be tested during execution of the end-to-end tests.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Thanks for the review @TisonKun ! I will merge.

Merged!


BUG: Server crashes on changelevel after map vetoes

My srcds hosted on dathost crashed on changelevel after map vetoes.
I am not sure why that happend, still investigating.
Match JSON
{
  "matchid": 25,
  "clinch_series": false,
  "num_maps": 1,
  "players_per_team": 5,
  "min_players_to_ready": 5,
  "skip_veto": false,
  "map_sides": [
    "knife"
  ],
  "spectators": {
    "players": {
      "76561198072054549": "[Admin]FlowingSPDG"
    }
  },
  "maplist": [
    "de_inferno",
    "de_dust2",
    "de_mirage"
  ],
  "team1": {
    "id": "8",
    "players": {
      "76561198095747156": "sach1",
      "76561198099336489": "Nail",
      "76561198278742909": "yen",
      "76561198328667199": "BAFFOIw",
      "76561198833808598": "山岡士郎"
    },
    "name": "メガメガ"
  },
  "team2": {
    "id": "10",
    "players": {
      "76561198051598754": "StRCaT",
      "76561198132332931": "irori",
      "76561198274569450": "takebath",
      "76561198311476304": "tatsuki",
      "76561198861672944": "L1roA🏰🕛"
    },
    "name": "Chicken Peek"
  },
  "cvars": {
    "matchzy_demo_name_format": "theseus-27_match_25_メガメガ_vs_Chicken Peek",
    "matchzy_demo_upload_url": "MASKED",
    "matchzy_remote_log_header_key": "",
    "matchzy_remote_log_header_value": "",
    "matchzy_remote_log_url": "MASKED",
    "tv_password": "theseus"
  }
}

srcds log before crash
Jun 30 07:02:19:  L 06/30/2024 - 07:02:19: World triggered "Match_Start" on "de_mirage"
Jun 30 07:02:19:  L 06/30/2024 - 07:02:19: Team playing "TERRORIST": Chicken Peek
Jun 30 07:02:19:  L 06/30/2024 - 07:02:19: "L1roA🏰🕛<5><[U:1:901407216]><TERRORIST>" triggered "Got_The_Bomb"
Jun 30 07:02:19:  L 06/30/2024 - 07:02:19: MatchStatus: Team "CT" is unset.

Jun 30 07:02:19:  playdemo MatchZy/theseus-27_match_25_メガメガ_vs_Chicken_Peek.dem
Jun 30 07:02:19:  '山岡士郎': CQ resync (slow_frame), client will discard cmd timing < 9016
Jun 30 07:02:19:  'takebath': CQ resync (catchup), client will discard cmd timing < 16830
Jun 30 07:02:19:  'L1roA🏰🕛': CQ resync (catchup), client will discard cmd timing < 21277
Jun 30 07:02:19:  'tatsuki': CQ resync (catchup), client will discard cmd timing < 5940
Jun 30 07:02:19:  '山岡士郎': CQ resync (catchup), client will discard cmd timing < 9024
Jun 30 07:02:19:  'BAFFOIw': CQ resync (catchup), client will discard cmd timing < 21209
Jun 30 07:02:19:  'sach1': CQ resync (catchup), client will discard cmd timing < 20425
Jun 30 07:02:19:  'StRCaT': CQ resync (catchup), client will discard cmd timing < 19218
Jun 30 07:02:19:  'Nail': CQ resync (catchup), client will discard cmd timing < 11638
Jun 30 07:02:19:  'yen': CQ resync (catchup), client will discard cmd timing < 21162
Jun 30 07:02:19:  'irori': CQ resync (catchup), client will discard cmd timing < 21490
Jun 30 07:02:20:  autokick is disabled for SourceTV
Jun 30 07:02:25:  [Tick 25952]['山岡士郎' depth=11 (9379..9389) ping=1ms] CQ bloat: removed 6, max: 10, 1 ticks this frame
Jun 30 07:02:25:  [Tick 25953]['山岡士郎' depth=11 (9382..9392) ping=1ms] CQ bloat: removed 2, max: 10, 1 ticks this frame
Jun 30 07:02:30:  autokick is disabled for SourceTV
Jun 30 07:02:37:  [All Chat][yen (318477181)]: .ban mirage
Jun 30 07:02:37:  L 06/30/2024 - 07:02:37: "yen<4><[U:1:318477181]><CT>" say ".ban mirage"
Jun 30 07:02:37:  [MatchZy] [SendEventAsync] Sending Event: map_vetoed for matchId: 25 mapNumber: 0 on MASKED
Jun 30 07:02:37:  [MatchZy] [SendEventAsync] SENDING DATA: {"map_name":"de_mirage","team":"team1","matchid":25,"event":"map_vetoed"}
Jun 30 07:02:37:  [MatchZy] [SendEventAsync] Sending map_vetoed for matchId: 25 mapNumber: 0 successful with status code: OK
Jun 30 07:02:40:  autokick is disabled for SourceTV
Jun 30 07:02:51:  autokick is disabled for SourceTV
Jun 30 07:02:52:  [MatchZy] [SendEventAsync] Sending Event: map_vetoed for matchId: 25 mapNumber: 0 on MASKED
Jun 30 07:02:52:  [MatchZy] [SendEventAsync] SENDING DATA: {"map_name":"de_dust2","team":"team2","matchid":25,"event":"map_vetoed"}
Jun 30 07:02:52:  [MatchZy] [SendEventAsync] Sending Event: map_picked for matchId: 25 mapNumber: 0 on MASKED
Jun 30 07:02:52:  [MatchZy] [SendEventAsync] SENDING DATA: {"map_number":1,"map_name":"de_inferno","team":"team1","matchid":25,"event":"map_picked"}
Jun 30 07:02:52:  [MatchZy] [ExecuteChangedConvars] Execing: matchzy_demo_name_format "theseus-27_match_25_メガメガ_vs_Chicken Peek"
Jun 30 07:02:52:  [MatchZy] [ExecuteChangedConvars] Execing: matchzy_demo_upload_url "MASKED"
Jun 30 07:02:52:  [MatchZy] [ExecuteChangedConvars] Execing: matchzy_remote_log_header_key ""
Jun 30 07:02:52:  [MatchZy] [ExecuteChangedConvars] Execing: matchzy_remote_log_header_value ""
Jun 30 07:02:52:  [MatchZy] [ExecuteChangedConvars] Execing: matchzy_remote_log_url "MASKED"
Jun 30 07:02:52:  [MatchZy] [ExecuteChangedConvars] Execing: tv_password "theseus"
Jun 30 07:02:52:  [MatchZy] [StartWarmup] Starting warmup! Warmup CFG not found in /home/dathost/cs2_linux/game/csgo/cfg/MatchZy/warmup.cfg, using default CFG!
Jun 30 07:02:52:  [All Chat][irori (172067203)]: .ban dust2
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "irori<3><[U:1:172067203]><TERRORIST>" say ".ban dust2"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: Match pause is disabled - mp_unpause_match
Jun 30 07:02:52:  mp_teamname_1 =
Jun 30 07:02:52:  Unknown command 'mp_radar_showall'!
Jun 30 07:02:52:  Unknown command 'sv_coaching_enabled'!
Jun 30 07:02:52:  Unknown command 'sv_competitive_official_5v5'!
Jun 30 07:02:52:  Unknown command 'sv_grenade_trajectory'!
Jun 30 07:02:52:  SV: Convar 'sv_infinite_ammo' is cheat protected, change ignored.
Jun 30 07:02:52:  Unknown command 'sm_cvar'!
Jun 30 07:02:52:  mp_t_default_primary =
Jun 30 07:02:52:  "SourceTV<0><BOT><Unassigned>" OnPreResetRound => CTMDBG, team 0  will switch 0 432.36
Jun 30 07:02:52:  "irori<3><[U:1:172067203]><TERRORIST>" OnPreResetRound => CTMDBG, team 2  will switch 0 432.36
Jun 30 07:02:52:  "yen<4><[U:1:318477181]><CT>" OnPreResetRound => CTMDBG, team 3  will switch 0 432.36
Jun 30 07:02:52:  "L1roA🏰🕛<5><[U:1:901407216]><TERRORIST>" OnPreResetRound => CTMDBG, team 2  will switch 0 432.36
Jun 30 07:02:52:  "BAFFOIw<6><[U:1:368401471]><CT>" OnPreResetRound => CTMDBG, team 3  will switch 0 432.36
Jun 30 07:02:52:  "sach1<7><[U:1:135481428]><CT>" OnPreResetRound => CTMDBG, team 3  will switch 0 432.36
Jun 30 07:02:52:  "tatsuki<8><[U:1:351210576]><TERRORIST>" OnPreResetRound => CTMDBG, team 2  will switch 0 432.36
Jun 30 07:02:52:  "StRCaT<9><[U:1:91333026]><TERRORIST>" OnPreResetRound => CTMDBG, team 2  will switch 0 432.36
Jun 30 07:02:52:  "takebath<10><[U:1:314303722]><TERRORIST>" OnPreResetRound => CTMDBG, team 2  will switch 0 432.36
Jun 30 07:02:52:  "Nail<11><[U:1:139070761]><CT>" OnPreResetRound => CTMDBG, team 3  will switch 0 432.36
Jun 30 07:02:52:  "山岡士郎<12><[U:1:873542870]><CT>" OnPreResetRound => CTMDBG, team 3  will switch 0 432.36
Jun 30 07:02:52:  Using spawn points configuration 0x0FC590B0
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: Starting Freeze period
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: JSON_BEGIN{
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "name": "round_stats",
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "round_number" : "1",
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "score_t" : "0",
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "score_ct" : "0",
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "map" : "de_mirage",
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "server" : "theseus-27-C",
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "fields" : "             accountid,   team,  money,  kills, deaths,assists,    dmg,    hsp,    kdr,    adr,    mvp,     ef,     ud,     3k,     4k,     5k,clutchk, firstk,pistolk,sniperk, blindk,  bombk,firedmg,uniquek,  dinks,chickenk"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "players" : {
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "player_0" : "                   0,      0,  16000,      0,      0,      0,      0,   0.00,   0.00,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "player_3" : "           172067203,      2,  16000,      0,      0,      0,      0,   0.00,   0.00,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "player_4" : "           318477181,      3,  16000,      0,      0,      0,      0,   0.00,   0.00,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "player_5" : "           901407216,      2,  16000,      0,      0,      0,      0,   0.00,   0.00,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "player_6" : "           368401471,      3,  16000,      0,      0,      0,      0,   0.00,   0.00,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "player_7" : "           135481428,      3,  16000,      0,      0,      0,      0,   0.00,   0.00,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "player_8" : "           351210576,      2,  16000,      0,      0,      0,      0,   0.00,   0.00,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "player_9" : "            91333026,      2,  16000,      0,      0,      0,      0,   0.00,   0.00,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "player_10" : "           314303722,      2,  16000,      0,      0,      0,      0,   0.00,   0.00,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "player_11" : "           139070761,      3,  16000,      0,      0,      0,      0,   0.00,   0.00,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: "player_12" : "           873542870,      3,  16000,      0,      0,      0,      0,   0.00,   0.00,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0,      0"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: }}JSON_END
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: World triggered "Match_Start" on "de_mirage"
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: Team playing "TERRORIST": Chicken Peek
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: MatchStatus: Team "CT" is unset.
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: MatchStatus: Team playing "TERRORIST": Chicken Peek
Jun 30 07:02:52:  L 06/30/2024 - 07:02:52: MatchStatus: Score: 0:0 on map "de_mirage" RoundsPlayed: -1
Jun 30 07:02:52:  Unknown command 'cash_team_loser_bonus_shorthanded'!
Jun 30 07:02:52:  'irori': CQ resync (catchup), client will discard cmd timing < 23612
Jun 30 07:02:52:  'yen': CQ resync (catchup), client will discard cmd timing < 23286
Jun 30 07:02:52:  'L1roA🏰🕛': CQ resync (catchup), client will discard cmd timing < 23406
Jun 30 07:02:52:  'BAFFOIw': CQ resync (catchup), client will discard cmd timing < 23336
Jun 30 07:02:52:  'sach1': CQ resync (catchup), client will discard cmd timing < 22552
Jun 30 07:02:52:  'tatsuki': CQ resync (catchup), client will discard cmd timing < 8067
Jun 30 07:02:52:  'StRCaT': CQ resync (catchup), client will discard cmd timing < 21344
Jun 30 07:02:52:  'takebath': CQ resync (catchup), client will discard cmd timing < 18960
Jun 30 07:02:52:  'Nail': CQ resync (catchup), client will discard cmd timing < 13763
Jun 30 07:02:52:  '山岡士郎': CQ resync (catchup), client will discard cmd timing < 11103
Jun 30 07:02:52:  'irori': CQ resync (slow_frame), client will discard cmd timing < 23613
Jun 30 07:02:52:  'yen': CQ resync (slow_frame), client will discard cmd timing < 23287
Jun 30 07:02:52:  'L1roA🏰🕛': CQ resync (slow_frame), client will discard cmd timing < 23407
Jun 30 07:02:52:  'BAFFOIw': CQ resync (slow_frame), client will discard cmd timing < 23337
Jun 30 07:02:52:  'sach1': CQ resync (slow_frame), client will discard cmd timing < 22553
Jun 30 07:02:52:  'tatsuki': CQ resync (slow_frame), client will discard cmd timing < 8068
Jun 30 07:02:52:  'StRCaT': CQ resync (slow_frame), client will discard cmd timing < 21346
Jun 30 07:02:52:  'takebath': CQ resync (slow_frame), client will discard cmd timing < 18961
Jun 30 07:02:52:  'Nail': CQ resync (slow_frame), client will discard cmd timing < 13764
Jun 30 07:02:52:  '山岡士郎': CQ resync (slow_frame), client will discard cmd timing < 11104
Jun 30 07:02:52:  [MatchZy] [SendEventAsync] Sending map_vetoed for matchId: 25 mapNumber: 0 successful with status code: OK
Jun 30 07:02:52:  [MatchZy] [SendEventAsync] Sending map_picked for matchId: 25 mapNumber: 0 successful with status code: OK
Jun 30 07:02:54:  L 06/30/2024 - 07:02:54: World triggered "Warmup_Start"
Jun 30 07:02:58:  SV: Cheat command 'noclip' ignored. Set sv_cheats to 1 enable cheats.
Jun 30 07:02:59:  L 06/30/2024 - 07:02:59: "yen<4><[U:1:318477181]><CT>" [-1627 -1449 -264] killed other "prop_physics_multiplayer<180>" [-1675 -1180 -189] with "usp_silencer"
Jun 30 07:02:59:  L 06/30/2024 - 07:02:59: "sach1<7><[U:1:135481428]><CT>" [-1367 -971 -161] killed other "prop_dynamic<421>" [-1336 -974 -132] with "knife_tactical" (attackerinair)
Jun 30 07:02:59:  [MatchZy] [ChangeMap] Changing map to de_inferno with delay 3
Jun 30 07:03:01:  autokick is disabled for SourceTV
Jun 30 07:03:02:  Changelevel to de_inferno
Jun 30 07:03:02:  changelevel "de_inferno"
Jun 30 07:03:02:  CHostStateMgr::QueueNewRequest( Changelevel (de_inferno), 3 )
Jun 30 07:03:02:  SV:  CNetworkServerService::StartChangeLevel( (no landmark) )
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "irori<3><[U:1:172067203]><TERRORIST>" disconnected (reason "NETWORK_DISCONNECT_SHUTDOWN")
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "irori<3><[U:1:172067203]><TERRORIST>" [1200 -924 -126] committed suicide with "world"
Jun 30 07:03:02:  Client 3 'irori' signon state SIGNONSTATE_FULL -> SIGNONSTATE_CHANGELEVEL
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "yen<4><[U:1:318477181]><CT>" disconnected (reason "NETWORK_DISCONNECT_SHUTDOWN")
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "yen<4><[U:1:318477181]><CT>" [-1346 -979 -168] committed suicide with "world"
Jun 30 07:03:02:  Client 4 'yen' signon state SIGNONSTATE_FULL -> SIGNONSTATE_CHANGELEVEL
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "L1roA🏰🕛<5><[U:1:901407216]><TERRORIST>" disconnected (reason "NETWORK_DISCONNECT_SHUTDOWN")
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "L1roA🏰🕛<5><[U:1:901407216]><TERRORIST>" [1233 -1436 -116] committed suicide with "world"
Jun 30 07:03:02:  Client 5 'L1roA🏰🕛' signon state SIGNONSTATE_FULL -> SIGNONSTATE_CHANGELEVEL
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "BAFFOIw<6><[U:1:368401471]><CT>" disconnected (reason "NETWORK_DISCONNECT_SHUTDOWN")
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "BAFFOIw<6><[U:1:368401471]><CT>" [-1361 -982 -168] committed suicide with "world"
Jun 30 07:03:02:  Client 6 'BAFFOIw' signon state SIGNONSTATE_FULL -> SIGNONSTATE_CHANGELEVEL
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "sach1<7><[U:1:135481428]><CT>" disconnected (reason "NETWORK_DISCONNECT_SHUTDOWN")
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "sach1<7><[U:1:135481428]><CT>" [-944 -522 -95] committed suicide with "world"
Jun 30 07:03:02:  Client 7 'sach1' signon state SIGNONSTATE_FULL -> SIGNONSTATE_CHANGELEVEL
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "tatsuki<8><[U:1:351210576]><TERRORIST>" disconnected (reason "NETWORK_DISCONNECT_SHUTDOWN")
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "tatsuki<8><[U:1:351210576]><TERRORIST>" [1296 -352 -168] committed suicide with "world"
Jun 30 07:03:02:  Client 8 'tatsuki' signon state SIGNONSTATE_FULL -> SIGNONSTATE_CHANGELEVEL
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "StRCaT<9><[U:1:91333026]><TERRORIST>" disconnected (reason "NETWORK_DISCONNECT_SHUTDOWN")
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "StRCaT<9><[U:1:91333026]><TERRORIST>" [1165 240 -195] committed suicide with "world"
Jun 30 07:03:02:  Client 9 'StRCaT' signon state SIGNONSTATE_FULL -> SIGNONSTATE_CHANGELEVEL
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "takebath<10><[U:1:314303722]><TERRORIST>" disconnected (reason "NETWORK_DISCONNECT_SHUTDOWN")
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "takebath<10><[U:1:314303722]><TERRORIST>" [1125 -895 -261] committed suicide with "world"
Jun 30 07:03:02:  Client 10 'takebath' signon state SIGNONSTATE_FULL -> SIGNONSTATE_CHANGELEVEL
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "Nail<11><[U:1:139070761]><CT>" disconnected (reason "NETWORK_DISCONNECT_SHUTDOWN")
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "Nail<11><[U:1:139070761]><CT>" [-1227 -947 -168] committed suicide with "world"
Jun 30 07:03:02:  Client 11 'Nail' signon state SIGNONSTATE_FULL -> SIGNONSTATE_CHANGELEVEL
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "山岡士郎<12><[U:1:873542870]><CT>" disconnected (reason "NETWORK_DISCONNECT_SHUTDOWN")
Jun 30 07:03:02:  L 06/30/2024 - 07:03:02: "山岡士郎<12><[U:1:873542870]><CT>" [-1338 -971 -168] committed suicide with "world"
Jun 30 07:03:02:  Client 12 '山岡士郎' signon state SIGNONSTATE_FULL -> SIGNONSTATE_CHANGELEVEL
Jun 30 07:03:02:  HostStateRequest::Start(HSR_GAME):  loop(levelload) id(3) addons() desc(Changelevel (de_inferno))
Jun 30 07:03:02:  SwitchToLoop levelload requested:  id [3] addons []
Jun 30 07:03:02:  SV:  IGameSystem::LoopDeactivateAllSystems {
Jun 30 07:03:02:  HO:  IGameSystem::LoopDeactivateAllSystems {
Jun 30 07:03:02:  HO:  } IGameSystem::LoopDeactivateAllSystems done
Jun 30 07:03:02:  SV:  } IGameSystem::LoopDeactivateAllSystems done
Jun 30 07:03:02:  SourceTV[0] shutting down (non-relay) due to server disconnecting game.
Jun 30 07:03:02:  CHLTVServer::Shutdown
Jun 30 07:03:04:  Completed SourceTV demo "MatchZy/theseus-27_match_25_メガメガ_vs_Chicken_Peek.dem":
Jun 30 07:03:04:  	Recording time 148.5,
Jun 30 07:03:04:  	Size 19256543 (2025 per tick).
Jun 30 07:03:04:  	Animation data size 998484 (105 per tick).
Jun 30 07:03:04:  L 06/30/2024 - 07:03:04: "SourceTV<0><BOT><Unassigned>" disconnected (reason "NETWORK_DISCONNECT_HLTVSTOP")
Jun 30 07:03:04:  CNetworkGameServerBase::SetServerState (ss_active -> ss_dead)
Jun 30 07:03:04:  SV:  Server shutting down: NETWORK_DISCONNECT_LOOPDEACTIVATE (55)
Jun 30 07:03:04:  CNetworkGameServerBase::SetServerState (ss_active -> ss_dead)
Jun 30 07:03:04:  --- SERVER EXITED ---

https://discord.com/channels/1169549878490304574/1169549994043387935/1253029172360642581
GOTV crash. Recordings start during vetos (which we probably don’t actually want)
Just try it again or disable GOTV if you can

@Iwhite67 thanks for the info!
That's strange, I was running 5team tournament and match with one specific team always ran into this issue...
I'll check it further more, I felt like there's something I can fix

On my side, this weekend
For first round, only 1 matchs / 8 was starting without crash
Both crashing.
I play all my lan tournament with manuel veto

So I guess you ended up disabling GOTV? Or just do vetoes outside of MatchZy and apply?
What I'm guessing is demo name/format, I think I can find something by investigating source codes

I not disabled thé gotv because i want keep demo so, I made the vetoes outside of matchzy.

Hey!
This is a know issue CSTV, it causes server to crash on map change. You will either have to reduce the tv_delay, or completely stop CSTV.
People have been facing such crashes without any plugin as well, so I don't think this is something related to the plugin.

74 Maps 0 Crash
crash only with Veto
this is strange
maybe try to have the startrecord to start of map after map change in case we have veto

@shobhit-pathak oh okay... thanks, I didnt know that.
@Iwhite67
I guess we can delay when to start recording demo for temporary workaround
https://github.com/shobhit-pathak/MatchZy/blob/91e3c8a12d5b2373a3f390596c9fee7362322d7f/Utility.cs#L607-L630
L617 to L631 or somewhere else

@FlowingSPDG We don't actually need demo recording in Veto, so I think we should skip start recording if the match is going to be in veto phase

This IS a good action :)

Hello
Anyone make a version where the start record IS into live or knife ?
If you make I Can test for you

@Iwhite67 @shobhit-pathak
Made PR for testing: #189 . I'll start testing for tournament we will have today!

Do You have a release with your edit ? I can test on my side

@Iwhite67
You can build by your own by pulling #189 , but I'll build for you if you don't know how

i never build a counter strike or C
i'm main PHP HTML JS

@Iwhite67
You can build by your own by pulling #189 , but I'll build for you if you don't know how

Ciao, can you build for me a version for test ?

@shobhit-pathak with this fix, he not crashing

Hey guys!
Thanks for the help, this should be fixed with the 0.8.0 update!

Still happening o 0.8.6. I just updated everything to the latest version and if I keep HLTV on (tv_enable 1) then after the map vote at the end of a mach server crashes.. If HLTV is disabled (tv_enable 0) then changelevel is successful..
Here are the full logs:
[Tick 7545]['MacGyver' depth=5 (6923..6927) ping=0ms] CQ bloat: removed 2, max: 4, 1 ticks this frame

[Tick 7747]['MacGyver' empty starved x1=15.6ms ping=0ms] LATE Recv usercmd 7124.  Margin:  2.9ms net +-1 queue =-12.7 total

CHostStateMgr::QueueNewRequest( Changelevel (de_zoo), 4 )

SV:  CNetworkServerService::StartChangeLevel( (no landmark) )

Client 3 'MacGyver' signon state SIGNONSTATE_FULL -> SIGNONSTATE_CHANGELEVEL

Client 4 'Martin' signon state SIGNONSTATE_FULL -> SIGNONSTATE_CHANGELEVEL

HostStateRequest::Start(HSR_GAME):  loop(levelload) id(4) addons(3101352333) desc(Changelevel (de_zoo))

SwitchToLoop levelload requested:  id [4] addons [3101352333]

SV:  IGameSystem::LoopDeactivateAllSystems {
HO:  IGameSystem::LoopDeactivateAllSystems {
HO:  } IGameSystem::LoopDeactivateAllSystems done
SV:  } IGameSystem::LoopDeactivateAllSystems done
SourceTV[0] shutting down (non-relay) due to server disconnecting game.
CHLTVServer::Shutdown

[#1753661085 UDP steamid:76561197988196786@<IP_ADDRESS>:55213 'MacGyver'] closed by peer (2055): NETWORK_DISCONNECT_LOOPDEACTIVATE

[#3252562966 UDP steamid:76561198133856967@<IP_ADDRESS>:25150 'Martin'] closed by peer (2055): NETWORK_DISCONNECT_LOOPDEACTIVATE
Completed SourceTV demo "MatchZy/2024-10-23_23-26-37_120_de_nuke_team_MacGyver_vs_team_Martin.dem":Recording time 122.3,Size 4302564 (549 per tick).Animation data size 730476 (93 per tick).

CNetworkGameServerBase::SetServerState (ss_active -> ss_dead)

SV:  Server shutting down: NETWORK_DISCONNECT_LOOPDEACTIVATE (55)

CNetworkGameServerBase::SetServerState (ss_active -> ss_dead)

CPlayerVoiceListener::PostSpawnGroupUnload()

CPlayerVoiceListener::PostSpawnGroupUnload()

CPlayerVoiceListener::PostSpawnGroupUnload()

CPlayerVoiceListener::PostSpawnGroupUnload()

CPlayerVoiceListener::PostSpawnGroupUnload()

CPlayerVoiceListener::PostSpawnGroupUnload()

CPlayerVoiceListener::PostSpawnGroupUnload()

CPlayerVoiceListener::PostSpawnGroupUnload()

CPlayerVoiceListener::PostSpawnGroupUnload()

CPlayerVoiceListener::PostSpawnGroupUnload()
[exited]

[  OK  ] Access console cs2_cw1: Closing console
gamer@caradhras:/srv/cs2$


OnNodePositionChange fires unreliably.

Describe the bug
When creating a graph with OnNodePositionChange set to a function, upon manually moving a node, the OnNodPositionChange function only fires sometimes.
To Reproduce
Steps to reproduce the behavior:
The most basic graph i can create, where I copy the 3 node example into a create-react-app, exhibits this behavior
Code:
App.js:
/////////////////////////////////////////////////////////////////////////////////////////////////////
import React from 'react';
import logo from './logo.svg';
// @ts-ignore
import './App.css';
import Thegraph from './components/Thegraph.js'
// import About from './About'
function App() {
return (

);
}
export default App;
//////////////////////////////////////////////////////////////////////////////////////////////
Thegraph.js:
/////////////////////////////////////////////////////////////////////////////////////////////////////
import React from 'react';
import { Graph } from 'react-d3-graph';
// graph payload (with minimalist structure)
const data = {
nodes: [{ id: "Harry" }, { id: "Sally" }, { id: "Alice" }],
links: [{ source: "Harry", target: "Sally" }, { source: "Harry", target: "Alice" }],
};
// the graph configuration, you only need to pass down properties
// that you want to override, otherwise default ones will be used
function Thegraph() {
const myConfig = {
nodeHighlightBehavior: true,
node: {
color: "lightgreen",
size: 120,
highlightStrokeColor: "blue",
},
link: {
highlightColor: "lightblue",
},
directed: true
};
// graph event callbacks
const onClickGraph = function() {
console.log(Clicked the graph background);
};
const onClickNode = function(nodeId) {
console.log(Clicked node ${nodeId});
};
// eslint-disable-next-line
const onDoubleClickNode = function(nodeId) {
console.log(Double clicked node ${nodeId});
};
const onRightClickNode = function(event, nodeId) {
console.log(Right clicked node ${nodeId});
};
// eslint-disable-next-line
const onMouseOverNode = function(nodeId) {
console.log(Mouse over node ${nodeId});
};
// eslint-disable-next-line
const onMouseOutNode = function(nodeId) {
console.log(Mouse out node ${nodeId});
};
const onClickLink = function(source, target) {
console.log(Clicked link between ${source} and ${target});
};
const onRightClickLink = function(event, source, target) {
console.log(Right clicked link between ${source} and ${target});
};
// eslint-disable-next-line
const onMouseOverLink = function(source, target) {
console.log(Mouse over in link between ${source} and ${target});
};
// eslint-disable-next-line
const onMouseOutLink = function(source, target) {
console.log(Mouse out link between ${source} and ${target});
};
const onNodePositionChange = function(nodeId, x, y) {
console.log(Node ${nodeId} is moved to new position. New position is x= ${x} y= ${y});
};
return <Graph
id="graph-id" // id is mandatory, if no id is defined rd3g will throw an error
data={data}
config={myConfig}
onClickNode={onClickNode}
onRightClickNode={onRightClickNode}
onClickGraph={onClickGraph}
onClickLink={onClickLink}
onRightClickLink={onRightClickLink}
onNodePositionChange={onNodePositionChange}
/>
}
export default Thegraph
///////////////////////////////////////////////////////////////////////////////////////////
Expected behavior
OnNodePositionChange should fire the function every time a node is moved.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment:

OS: iOS
Browser Chrome
Version 78.0.3904.70
Node version Unsure
react-d3-graph version 2.3.0
d3 version 5.14.2
react version 16.12.0

Additional context
OnNodePositionChange fires its function much more often with short, very fast movements. It reaches near 100% firing rate under such conditions. With long, slow, movements, the firing rate is more like 50%.

Hello @azraeiden thanks for the detailed report. Are you able to reproduce the same issue in the live sandbox example? Also, there is pretty easy to detect onNodePositionChange calls since we log it at every time a node position changes.

I tested it myself and I could not find so far any anomaly in the calls to onNodePositionChange. Would you be able to provide more context into this? Thanks in advance!

Thanks for the response @danielcaldas. Yes I was able to reproduce the issue. In the screenshot I have shown below I moved nodes Guardian and Broodmhome a total of four times, and as you can see onNodePositionChange only was called twice. I tested it a few more times, and maintained an onNodePositionChange fire rate of about 60%. Also I'm using the high contrast plugin, which is why it is black, but I disabled the plugin and was still able to reproduce the issue.

I'll try to have a release out asap @Kav91

Closing as a duplicate of https://github.com/danielcaldas/react-d3-graph/pull/266

Hey, just wanted to say thank you for fixing this. It works perfectly.


Fixes & docs for running a non-vagrant development environment

The first set of patches are various fixes to remove hardcoded assumptions about the development environment, so you don't have to match the vagrant NIC name, IP address & hostnames exactly. The last patch documents how to actually do a non-vagrant devel env.

Updated with changes mentioned - particularly note the 2nd patch changed approach completely

Updated with the docs change mentioned above

Not sure understand the last comment - cluster/sync.sh still exists - i only deleted cluster/run_tests.sh

Oh right. Then lgtm.


Brazil last updated 7 days ago.

Any information in the logs as to why this might be @joeHickson?

Looks like data last updated 2020-10-03 (so could be a "data hasn't changed since last run" error). I'm checking for the issue in covidregionaldata now.

Fixed in PR#82 to covidregionaldata, so this will update when that PR is merged.

Will close this once a new update winds its way through 😄


Server with relative location are not converted to an absolute url

The OAS3 spec specifies:

This URL supports Server Variables and MAY be relative, to indicate that the host location is relative to the location where the OpenAPI document is being served.

With a server that serves on http://localhost:8090/openapi.json:
{
  "openapi": "3.0.1",
  "servers": [
    {
      "url": "/rel"
    }
  ],
  "info": {
    "description": "This is a sample server",
    "version": "1.0.0",
    "title": "OpenAPI Petstore",
    "license": {
      "name": "Apache-2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    }
  },
  "paths": {
    "/ping": {
      "get": {
        "summary": "Some ping operation",
        "description": "Some ping operation",
        "operationId": "doPing",
        "responses": {
          "200": {
            "description": "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "properties" : {
                    "status": {
                      "type" : "string",
                      "example" : "ok",
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

When you do:
String inputSpec = "http://localhost:8090/openapi.json";

OpenAPIParser openApiParser = new OpenAPIParser();
ParseOptions options = new ParseOptions();
options.setResolve(true);
options.setFlatten(true);

System.out.println(openAPI.getServers().get(0).getUrl()); //should be http://localhost:8090/rel

You get /rel where the expected value is http://localhost:8090/rel

Tested with:
<groupId>io.swagger.parser.v3</groupId>
<artifactId>swagger-parser</artifactId>
<version>2.0.1</version>

Solved with merge of #773


Allow base64 encoding of certificates and private keys

It can be a little tricky to reformat the PKCS12 files (certificates and private keys) into a single line for use in AS3 JSON files. It would be much better to allow for both artifcats to be base 64 encoded and put into the JSON like can be done with device certificates in DO.

Using Schema version 3.32.0 and f5-appsvcs-3.32.0-4.noarch, it looks like the base64 should be supported (at least for a CA_Bundle object), considering it is supposed to accept a F5string Object (https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/master/schema/latest/as3-schema.json):
"CA_Bundle": {
      "title": "CA_Bundle",
      "description": "Bundle of one or more PKI Certificate-Authority certificates",
      "type": "object",
      "properties": {
        "class": {
          "title": "Class",
          "type": "string",
          "const": "CA_Bundle"
        },
        "label": {
          "$ref": "#/definitions/Label"
        },
        "remark": {
          "$ref": "#/definitions/Remark"
        },
        "bundle": {
          "description": "Reference to a CA bundle or string of PEM encoded certificates",
          "allOf": [
            {
              "$ref": "#/definitions/F5string"
            }
          ],
          "f5fetch": "pki-cert",
          "f5bigComponent": "query sys file ssl-cert"
        }
      },
      "additionalProperties": false,
      "required": [
        "class",
        "bundle"
      ]
    },

"F5base64": {
      "type": "string",
      "description": "Slightly over-matches both base64-orig and base64-url data",
      "pattern": "^([0-9A-Za-z/+_-]*|[0-9A-Za-z/+_-]+={1,2})$"
    },
    "F5string": {
      "title": "String value",
      "description": "String value optionally in base64 or from URL or AS3 pointer",
      "if": {
        "not": {
          "type": "object"
        }
      },
      "then": {
        "type": "string"
      },
      "else": {
        "$comment": "May add 'cryptogram' in future.",
        "properties": {
          "base64": {
            "title": "Base64",
            "description": "Base64-encoded value (in JSON string)",
            "type": "string",
            "allOf": [
              {
                "$ref": "#/definitions/F5base64"
              }
            ]
          },
          "text": {
            "title": "Text",
            "description": "UTF-8 text (in JSON string)",
            "type": "string"
          },
          "url": {
            "$ref": "#/definitions/Resource_URL"
          },
          "copyFrom": {
            "title": "Copy from",
            "description": "AS3 pointer to declaration object/property from which to copy value",
            "type": "string",
            "format": "f5pointer"
          },
          "bigip": {
            "title": "BIG-IP component pathname",
            "description": "Pathname of existing BIG-IP component",
            "type": "string",
            "format": "f5bigip"
          }
        },
        "additionalProperties": false,
        "minProperties": 1,
        "maxProperties": 1
      }
    },

However, I'm facing the same issue. I tried formatting the certificate into a single line with \n before or after PEM headers or without particular formatting, just encoding the certificate as_is in base64, but the result is the same in the logs:
Wed, 10 Nov 2021 16:39:28 GMT - severe: [appsvcs] {"message":"Declaration failed: 01070712:3: unable to validate certificate, invalid x509 file (<CA_Bundle_name>).","level":"error"}
I'm not sure if it is due to a schema error, or just a bug?

Hi F5 Support
Facing the same issue here.
[The JSON schema supports BASE64 encoded certificates and certificate bundles.
however the BIG-IP API throws an error when using such format.
Kr,

This still seems broken @dstokesf5. Even the master example of all still only has the pks version.

This issue was not being tracked well since it did not follow one of the provided issue templates. I have created a new issue (#580) to address the fact that the schema allows this, but the BIG-IP configuration is invalid.

awesome thanks, Daniel! so i will go back and say that the x509 isn't doable right now, but the pk12 format (bundled) should be


Add CoverDesignAI

Thanks 🙏

@kerbelp I have seen this is merged to master, but I didn't find CoverDesignAI now. What happens?

Hi @EyonJoshua91, sorry about it.
I have a process that translates the app to different languages and syncs with ai-collection.org.
It mistakenly removed CoverDesignAI when a newer app was added. I Fixed it.

No problem, thanks


Cannot pickle nested pyspark udf function

I compiled my pyx with cython successfully and imported it as a library. All the functions work, except for the udfs. I got error messages like this:
Can't pickle <cyfunction my_class_name.my_method_name..my_udf_name at 0x7f74580b4c80>
I'm not sure if it's because cython can't work with pyspark udf, or it's just my code. But my code works fine when not compiled.

You need to use a global function, not a local one. Nested functions work in Python code because Python can pickle them including their byte code. For compiled functions, there is no byte code that could be pickled, so the state can be pickled and transferred, but the function itself must be accessible on the other side. Local functions are not accessible from anywhere outside of the function that defines it.

Duplicate of #2584.

Thanks! fixed.

Thanks! fixed.

Hi, can you share how you managed to fix the issue? Thanks!

It's been a few months, but I think instead of using the function decorator, the workaround at that time was:

from pyspark.sql.functions import udf
define a global function called xxx()
use "udf(xxx, xxxx return type())()"  in the script where you put the udf

Thanks! fixed.

Hi, can you share how you managed to fix the issue? Thanks!

def get_dummies(self, df_sales: pd.DataFrame) -> DataFrame:
schema_str = StructType([
StructField(store_col_copy, DoubleType(), True),
StructField(yrmo_col_copy, DoubleType(), True),
StructField(sku_col_copy, DoubleType(), True),
StructField('overfit_utilities', DoubleType(), True)])
@pandas_udf(schema_str, PandasUDFType.GROUPED_MAP)
def cnl_overfit(df_sales_sample):
    store = df_sales_sample[store_col_copy].iloc[0]
    yrmo = df_sales_sample[yrmo_col_copy].iloc[0]

    overfit_util = df_sales_sample.sort_values(sku_col_copy)
    # skus_sample = sorted(df_sales_sample[sku_col_copy].values)

    return overfit_util.drop_duplicates()

df_sales_spark = self._spark.createDataFrame(df_sales)
overfit_spark = df_sales_spark.groupby([store_col_copy, yrmo_col_copy]).apply(cnl_overfit)
return overfit_spark

Even i am facing the same issue in using pandas_udf, can you guys please help me in overcomming this issue


Coordinates in double (PaintTo methods)

In all drawing libraries GDI, GDI+, DirectX  size and coordinates are either Integer (GDI) or Single (GDI+, DirectX).  The use of Double in the PaintTo methods is unnecessary and inefficient (due to the conversions).
Please replace all Double with Single.

Just a suggestion, when/if this change is made, would be cool to make some benchmark/measurement is there effect and if is how much it would be.
Just out of curiosity and for science.

Resolved into 1.7 version.


Use dlcdn instead of downloads.apache.org

We've been having some reliability issues with this domain, see https://github.com/jenkins-infra/github-reusable-workflows/issues/40
sideport of https://github.com/jenkins-infra/github-reusable-workflows/pull/41

(noticed my plugins run of this action failing for this, and I haven't seen any of these issues after the switch on the CD action)

Same. All cd worked fine but security scan was failing 1/5 times


Fix 'for' label in example

The demo page for checkboxes has two checkboxes with id 'basic', which makes this label control the wrong checkbox: https://mynaui.com/checkbox/

Thanks!


Require statement not part of import statement.eslint@typescript-eslint/no-var-requires

I tried:

import my_tflite_model from "../../../assets/MyDetection.tflite";

ERROR:  Cannot find module '../../../assets/MyDetection.tflite' or its corresponding type declarations.

import my_tflite_model = require("../../../assets/MyDetection.tflite");

ERROR:  Cannot find module '../../../assets/MyDetection.tflite' or its corresponding type declarations.

const my_tflite_model = require("../../../assets/MyDetection.tflite");

ERROR:  Require statement not part of import statement.eslint@typescript-eslint/no-var-requires

const my_tflite_model = useTensorflowModel(require("../../../assets/MyDetection.tflite"));

ERROR:  Require statement not part of import statement.eslint@typescript-eslint/no-var-requires
ERROR: React Hook "useTensorflowModel" cannot be called at the top level. React Hooks must be called in a React function component or a custom React Hook function.eslintreact-hooks/rules-of-hooks

const my_tflite_model = loadTensorflowModel(require("../../../assets/MyDetection.tflite"));

ERROR: Require statement not part of import statement.eslint@typescript-eslint/no-var-requires

Before that, I did:

yarn add react-native-fast-tflite
Add tflite to module.exports. resolver. assetExts in metro.config.js.
Add MyDetection.tflite to the ../../../assets folder.

Em,
How can I use this library? (I just want to create a function that can run my model.)

const my_tflite_model = require("../../../assets/MyDetection.tflite");
ERROR: Require statement not part of import statement.eslint@typescript-eslint/no-var-requires

This is a lint error, not an actual code error, meaning it goes against your preferred code-style rules. You can disable that for this case, because it needs to be a require.