The GM modules terminate flag should terminate the process

The GM module has a terminate flag that drives the following functionality (as specified in the SRS):
"If the terminate key is true the GM monitor will terminate the RVS process when a bounds violation is   encountered on any of the metrics"
Currently, if terminate=true, the monitoring is terminated and the RVS process will continue running any tests were configured. The purpose of the terminate flag is to ensure dangerous bounds violations result in a cessation of testing, not monitoring. Simply terminating the entire process would be acceptable.

Implementation merged in #251


AnimatedFlowContainer causes resizing problems

When using an AnimatedFlowContainer for the ContentPane in the JFXDrawer, like in the demo:
flowHandler = innerFlow.createHandler(context); context.register("ContentFlowHandler", flowHandler); context.register("ContentFlow", innerFlow); context.register("ContentPane",  content.getChildren().add(flowHandler.start(new AnimatedFlowContainer(Duration.millis(320), ContainerAnimations.SWIPE_LEFT)));
The AnimatedFlowContainer here causes some odd resizing problems. Reading its source, what the AnimatedFlowContainer does is create an ImageView of a fixed size, which is a screenshot of the pane and makes the animation moving that ImageView. When you resize the scene, the ImageView size does not get updated and causes the window size to not be able to shrink. I know this is not JFoenix's fault, but maybe something can be done so it works?
My solution to resolve them temporarily is to just not use it.
content.getChildren().add(flowHandler.start());

we reset the width/height of animatedflowcontainer after finishing the animation. so this issue should be fixed. Thanks for pointing out the issue.


Expense Module - Due Date, Repeat

Hi there, Can you please explain what is a purpose of due date and repeat in expense  module????

Due date is used for expenses which have set payment dates to generate notification
Repeat is used to auto add expense which have fix cycle, sys auto creates them


Metric API: Ability to create histograms like prometheus histograms

Do we have ability to create histograms like prometheus histograms from metrics API?

Not yet. Likely this will be just an aggregator on the value recorder but we're waiting for the spec to finalize this.

Just wanted to check if we have any update on this. Or a sample code of how we can leverage value recorder to implement histograms.

I think this can be closed.

Histogram type instrument has implemented in the latest metrics SDK.


:bug: Fix: Empty account in fork mode bug

Description
Concise description of proposed changes
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

#1084  👈
main

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

Join @roninjin10 and the rest of your teammates on  Graphite


Better reserved name handling

Name of any schema, parameter or property can ba any valid string, excluding Unicode control characters, while python accepts only alphanumerics + underscore (_), which has a special meaning if placed at the beginning.
Possible ways of handling names that are not valid python identifiers:

fail
use x-lapidary-names or x-lapidary-name
employ default name mangling
in case of object schema properties - skip from model definition, but support as an object variable + validate

Should also work with names that are Python keywords

Possible name mangling:
def mangle_char(s:re.Match)->str:
     return '_u{x:06x}'.format(x=ord(s.group()))

def mangle_name(s: str)->str:
     return re.sub('[^a-zA-Z0-9]', mangle_char, s)

mangle_name('a:_!@a')
# > 'a_u00003a_u00005f_u000021_u000040a'


Whitelist would be welcomed

I know this has been discussed but I'm unable to find the threads.
I use the the mybase.txt blacklist which I update once a day.
I was unable to run video from ARTE Live and the culprit was a filter included in mybase.txt : ssl.p.jwpcdn.com
Of course I've removed it manually and ARTE's live streaming is now flawless.
Tomorrow I'll update again mybase.txt and unless ssl.p.jwpcdn.com is removed meanwhile, I'll have to remember to delete its entry again from the list.
I know, @jedisct1 mentioned the availability of a python script to get these whitelist entries removed, but for those as myself who are not techies and use dnscrypt-proxy for Windows, python is another universe.
This is why I assume the risk of bothering, when I'm aware that so much is already provided here, by putting again on the table the pertinence of a dnscrypt-proxy built-in whitelist feature accessible as easily as the blacklists.
Many thanks.

Such a whitelist option is by far my most wanted feature! In my opinion, nothing would enhance this otherwise practical programme more!
Thanks to everyone who is able and willing to implement this!

Just to be clear, when I mentioned above the availability of a python script and the fact I was a Windows' user of dnscrypt-proxy, I didn't mean that python was unavailable for Windows, of course it is. I only meant that, IMO, Windows users were, generally speaking, maybe less inclined to using script tools than Linuxians. I'd add that I hope so, otherwise I'd be a sadder even exception :=)


Cache unicodeData.txt

When installing packages that rely on this packages on Windows, the data will be pulled from unicode.org every single time the package is installed.
Not only is there no directory in systemfiles that would fit a Windows environment, the data that is retrieved isn't cached either :(

Since i don't have a windows system, i'm unsure how to solve this issue.
The txt file could be written to a globally accessable space (like ~/.cache under linux), but i'm not sure if that would solve the problem or just simply create new ones.
Would you mind creating a pull request?

@dodo I'll look into how the process work and submit a suggestion :)

I would assume that using ~/.cache is a viable option. Combined with home-dir, it should work cross-platform.
A possible problem that came to mind was, that the cached data could get outdated and that would impact future installations of node-unicodetable, but the same is true for existing approaches that reference files in /usr/share.
However, I could see how caching in that location might lead to unexpected results. Someone might reinstall node-unicodetable and be confused why the data isn't updated, because they weren't aware of this cache. This is less likely to happen with data that is pulled from official packages for the distribution.
I'd still consider it beneficial if something like ~/.cache/unicodetable/UnicodeData.txt was checked for existing data. That way, someone might place the file there manually.
I'm aware of the ability to set an environment variable to point to any location you wish, but I personally wouldn't want to constantly have a variable in my environment that is only relevant when I install this package.

I've noticed that OS X El Capitan doesn't include UnicodeData.txt in /usr/share/unicode/ or /usr/share/unicode-data/, so the postinstall phase will pull from unicode.org every single time just like Windows.
I can't even put the file there without disabling system integrity protection. 🙁

@dodo Are you still supporting this repo? There's 6 open issues relating to not being able to install UnicodeData.txt due to external constraints (e.g. corporate environments, proxies, firewalls etc).
Is there any way you could just include UnicodeData.txt so that is comes with the module at install time?


EarlGrey Source Sync

EarlGrey Source Sync

Can you add the bugs this PR is addressing?

Should we drop this?

Closing this PR since it's been replicated in smaller ones.


Wrap dns provider "not found" errors in an mgc generic error type

What
Add a new "Not Found" error type to mgc that wraps the dns provider specific "not found" error messages.
Why
So we can check for a single generic error type (errors.Is(err, dns.IsNotFound)) instead of having to check for dns provider specific error messages outside of the dns providers see https://github.com/Kuadrant/multicluster-gateway-controller/blob/main/pkg/controllers/dnsrecord/dnsrecord_controller.go#L161 and https://github.com/Kuadrant/multicluster-gateway-controller/blob/main/pkg/controllers/managedzone/managedzone_controller.go#L200.

This issue is stale because it has been open for 60 days with no activity.

This issue was closed because it has been inactive for 30 days since being marked as stale.


Diagnose segfault in OSX with OpenMP enabled

See PR #300 for details.

Segmentation faults in general are complaints about accessing something in memory that doesn't exist. I see that increasing the stack size didn't work, so I would put my money on either a non thread safe function is getting called in in the #pragma block, or a resource that is shared between thread 2 and another is getting destroyed, and then accessed again in this thread 2 (referring to https://user-images.githubusercontent.com/838735/27499395-16992eda-5810-11e7-8ec0-3ee4cf6a525d.png).
Worst case scenario is that you put log statements after each line and walk the log file to see the last executed instruction.


Option to export symbols

I do agree that there is a huge need to automatically exclude symbols but there are some cases where we need to export symbols as well. Maybe this can be an export option?

You can select symbols first, and export, with next release.
But I still suggest you organize them with instances in an artboard to export, which is more friendly to developers.


Can we document what version of React Native starts supporting PlatformColor?

Can we document what version of React Native starts supporting PlatformColor? I'm having a trouble finding it and it would be nice/easy to just plop in these docs for us that stumble upon this tool. I'm still looking 😄

Was add in 0.63.0


Migrate all MadByte Solidity unit tests to Typescript

Scope
This PR is adding implementation of all unit tests for MadByte token in Typescript
Why?
To exploit TypeScript test features through libraries like Mocha and Chai

Conflicts fixed and general re-testing, ready to process.


Use an alpine 3.17 LXC container for small footprint

Just in case someone needs it, I'm running WAG into an LXC container that is just 38Mb.
Works beautifully.
That's how I did it:

In your distro of choice create an LXC container with the alpine 3.17 image (3.18 does not work)
start & login into the container (lxc-attach )
make sure the container has access to internet (configure lxc bridge properly or set up a nat)
run this little script (i.e. sh )

GLIBC_VERSION="2.34-r0"

apk add --update curl && \
  curl -Lo /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
  curl -Lo glibc.apk "https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk" && \
  curl -Lo glibc-bin.apk "https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-bin-${GLIBC_VERSION}.apk" && \
  mv /etc/nsswitch.conf /etc/nsswitch.conf.bak && \
  apk add --force-overwrite glibc-bin.apk glibc.apk && \
  /usr/glibc-compat/sbin/ldconfig /lib /usr/glibc-compat/lib && \
  mv /etc/nsswitch.conf.bak /etc/nsswitch.conf && \
  apk add iptables linux-pam && \
  sysctl -w net.ipv4.ip_forward=1 && \
  wget https://github.com/NHAS/wag/releases/download/v7.3.1/wag && \
  chmod +x wag && \
  apk del curl && \
  rm -rf glibc.apk glibc-bin.apk /var/cache/apk/*

You'll end with a wag binary that works and does all his beautiful stuff.
Of course you have to configure the networking part of the container as you see fit
Enjoy.

Howdy,
I wouldn't really think this is an issue per say. Looks more like a pull request if you wanted to submit it.
Just curious, why doesn't this work on 3.18?
(additional side note the image as it currently stands is only 68mb)

Ah actually I see you're pulling in random sources from github.
I'd prefer not to do that

I am not "randomly pulling" anything.
It's basically the same script that builds the docker version af Alpine w glibc, that has 5+ million pulls on docker (and nobody bats an eye), but in basic LXC fashion, since Docker is not really my cup of tea.
https://hub.docker.com/r/frolvlad/alpine-glibc/
I've noticed also that only Alpine 3.17 and glibc 2.34-r0 work as expected: Alpine 3.18 (or edge) make the wag binary segfault:
[  505.508798] wag[3546]: segfault at 3590 ip<PHONE_NUMBER>003590 sp 00007ffdca3f7da8 error 14 in wag[400000+8000] likely on CPU 0 (core 0, socket 0)
[  505.508835] Code: Unable to access opcode bytes at 0x3566.

Difficult to say what is gong wrong: I suspect this has something to do with an Alpine 3.18 change in linker options to shrink binaries a little more. From changelog 3.17 to 3.18 I read:
DT_RELR

on x86, x86_64, and ppc64le, -Wl,-z,pack-relative-relocs is now added to the base LDFLAGS. this reduces elf (executable/shared-library) size by 10% on average.

however, these binaries are now not portable to other musl-based systems that have a musl older than 1.2.4, because older versions are incapable of loading these binaries.

Maybe I'll hunt it down w a debugger when I feel inspired: suffice to say 3.17 (and lower, 3.16 3.14) all work as expected.
I was wondering if it's possible to build the WAG binary as static to avoid the never-ending chase for packages, binaries & secret recipes to get things working.

I am not "randomly pulling" anything.

It's basically the same script that builds the docker version af Alpine w glibc, that has 5+ million pulls on docker (and nobody bats an eye), but in basic LXC fashion, since Docker is not really my cup of tea.
Hi there, sorry I should have been clearer in my language. This setup script is including arbitrary resources from a github repository that is outside of my control and not part of a standard image release (such as alpine pure).
As this product is for use in a security consultancy (see the sponsorship from https://www.aurainfosec.com), I am reluctant to use anything that could be subject to a supply chain attack.
It is worth noting that when I bump the golang libraries I use, I check the sources (if they are not in the stdlib itself).
I can understand how this came off, but unfortunately I need to do extreme due diligence when making changes or accepting changes.

I would love to build wag purely static, unfortunately supporting sqlite3 in its current form comes with the C dependency which means we have issues.
I did try and use the pure golang implementation of sqlite3, but it had both weird performance problems and had contention issues when writing to the db on client ip address change.

In my ongoing war to hopefully make wag HA at some point which may require moving to postgres we may see the C dependency be dropped at some point.
But not any time soon due to workload.

Sounds like a good time! Im interested that the change they've implemented there broke the program/glibc

It was exactly that.
After struggling a few hours I've built a 2.37 glibc binary (used https://github.com/sgerrand/docker-glibc-builder, a docker recipe that generates a 2.37 glibc binay archive) and "upgraded" it into the alpine container by brutally overwriting binaries with tar to the container rootfs. Ugly as f, but worked, so I can confirm that
The binary WORKS under Alpine 3.18 with glibc 2.37
This glib/musl dichotomy is such a painful affair, binaries in general are extremely painful stuff.
That's a big part of docker success, imo.


Provide consistent handling of C# and VB compiler error/warning topics

Provide consistent handling of C# and VB compiler error/warning topics
General
Currently, there are several issues with C# and Visual Basic compiler error and warning message topics:

The topics are arbitrarily divided into two different directories. For C#, they are in a language reference subdirectory and a miscellaneous directory. For Visual Basic, they are also in a language reference subdirectory and a miscellaneous directory.
The TOC lists only the items in the language reference subdirectory. This means that, although all of the topics are published, they are not all easily accessible.
Most of the filenames of the Visual Basic error message topics consist of some variation of the error message text. This results in long filenames (and long TOC entries) that are difficult to parse and identify.

To address these issues, we should do the following:

Move all of a language's error message topics to a single directory, preferably the language reference subdirectory for C# and Visual Basic.
Determine whether we need to define redirects for the moved files. (Possibly we won't need to, since the files in the miscellaneous directories are not easily discoverable.)
Make all compiler warning/error topics discoverable. Since there are too many of them for the TOC (there are currently 928 C# topics and 1,654 Visual Basic topics), index.md should list each of the compiler error/warning numbers.
Improve the discoverability of Visual Basic error topics in both GitHub and on docs.microsoft.com by renaming the to have only the Visual Basic error/warning number rather than the message string. This also requires that we create redirects for the 203 existing files in the language reference directory.

//cc @billwagner @mairaw

I'll add one more recommendation:
I don't think we have all the warning and errors messages documented. I believe some of the most recent additions are not included.


Job submission

PR Description
This PR is specifically for submitting jobs on HT Condor, using the new Python script job_submit.py located in bye_splits/production/submit_scripts. All configuration is done in config.yaml under job. This configuration should contain the usual Condor related variables (user, proxy, queue, local) as well as a path to the script you wish to run, and a list of arguments that the script accepts. There are then configurations for each particle type listed under their names (plural), which should contain:

submit_dir, i.e. the path where you want your submission related scripts to be written to and read from;
files which should contain a path to a txt file with your various parameters, line delimited;
files_per_batch which is self explanatory.

In the case of the cluster size studies, files points to a .txt file with all clustering radii, line delimited.
job_submit.py contains three classes, JobBatches which splits the total number of jobs into batches as defined above. If the chosen number can't be split evenly, the last batch will be shorter than the preceding ones. The second class, CondJobBase writes the individual batch files if needed, and writes the .sh and .sub scripts needed for the job(s). Finally, CondJob creates configs/, jobs/,  and logs/ sub-directories under the submit_dir in the configuration script, then creates and runs the jobs. The base name for all files written by job_submit.py will be the same as the basename for the script being called, as set in the configuration. The file information is stored in buffer-lists before being written, and are checked against files with the same name before being written. If the contents of the new file are equivalent to a previously written file, the script will opt to use that file rather than write a new one. Otherwise, it will increment the version number, write the new file and use that. This is handled through a few new functions in common.by, with the main function being conditional_write.
How has this been tested?
Tested against all particle types with both 0 and 200 PU.
Checklist

[X] I have performed a self-review of my code
[X] My code follows the naming convention of this project
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation

The two commits that I just pushed should address all of the comments, let me know if there's still something I can update.

The latest commit allows you to pass the Python files, i.e. run_cluster.py or produce.py for example, as script directly. The executable written by write_exec_file() in job_submit.py and set in the .sub file now calls the Python function directly on the correct batches of arguments. This has been tested and has worked well, but I still need to address a few of the other comments before this is ready to be merged.

Everything should be accounted for in the latest commit except for the things in the three remaining unresolved conversations. Personally I think these three things (argument verification, EOS files, and multiple iteration params) should wait for a dedicated PR because they're all fairly complicated. I'm happy to discuss more, but if you agree and everything else looks good, please resolve these remaining conversations.

@isehle Regarding argument verification, here goes my proposed solution.
You could run the script separately via the OS and parse its output. This is messy, it requires some non-python interface (even if within python), and it will be hard to generalize.
The alternative is to do everything within Python; the compromise is to slightly change the way we optional commands are now being defined. I propose we start encapsulating them into a function (a class would be more correct but an overkill for our current use-case).
You can find a running example here. If the solution suits you, I propose you add it to the dummy script, to your own script and to produce.py, keeping all other scripts as they are. The reason is that these three scripts would be needed for testing. We can modify the others later on if really needed.

I like Bruno's proposal to encapsulate the arguments of each script in a function so that they can be called from outside the script. In this way you could easily verify which are the needed arguments to launch a specific script.
I would also suggest adding the possibility to specify command-line arguments when running the job_submit.py script. The final result I have in mind is, in the case of one wants to run the produce.py script, something like this:
python bye_splits/production/submit_scripts/job_submit.py --script produce.py --particles photons

The command-line arguments should take precedence over those specified in config.yaml, which will only be read in case they are not specified via the command line.
Let me know what you think, and if you'd like, we can discuss it further!

@bfonta, thanks for the suggestion and head start! I figured that it's probably best to start with a class even though I agree that it's overkill for now—it's just going to be easier to extend in the future, I imagine. You can find my approach here, where you can run python run_script.py which uses the Arguments class in arg_script.py to first verify that the arguments are expected by test_script.py, and then adds them and runs the script.
@mchiusi, I agree that it would be a nice idea to allow command line arguments at the level of job_submit.py, though I need to think a bit further on the best way to implement them—I have some ideas but it isn't trivial, so I'll keep you both updated.

The class has been updated so that it now will take command line arguments with precedence over the default arguments, and everything is handled directly by the class itself so you can simply use Arguments.run_script(<arg_dict>) and (potential) replacement, verification, and running will be done behind the scenes. You can see the implementation at the same link as before.

The latest commit should take care of all argument adding, combining (default+command line), and verification. Tested all combinations on the dummy script, and ran a few combinations with run_cluster.py.  As expected, it does indeed require changing the original script(s). Arguments must be defined with a dictionary titled arg_dict and added using Arguments.add_args(arg_dict). The keys should be the argument name (including --, this is required for now), and the values should be their own dictionaries containing **kwargs that are accepted by arparse.add_arguments().
Example:
arg_dict = {
    "--float_arg": {
        "help": "Dummy float",
        "type": float,
        "required": True
    },
    "--str_arg": {
        "help": "Dummy string.",
        "type": str,
        "required": True,
    },
    # Generic argument will be interpreted as a string
    "--gen_arg": {
        "help": "Dummy generic.",
        "required": False,
        "default": None
    },
    "--flag": {
        "help": "Dummy flag number 2.",
        "action": "store_true",
        "required": False
    }
}

def dummy(pars):
    """Dummy script for testing HT Condor job submission.
    Prints passed argument key/vals and the type of <val>."""

    for key, val in pars.items():
        print("Passed {} for --{}, read as type {}.".format(val, key, type(val)))

if __name__ == "__main__":
    args = Arguments(script=__file__)
    FLAGS = args.add_args(description="A dummy script to submit.", arg_dict=arg_dict)
    dummy(FLAGS)

I suggest playing with tests/submission/dummy_run.py to get a feel for how Arguments handles things. A few things to note:

It is not necessary for the dictionary in the running script to have any specific name. It must be arg_dict in the script that accepts the arguments so that these can be read by the Arguments class and verified against what's passed in the running script. The name in the running script however has no effect.
Try removing a required argument in the run script argument dictionary.
Try changing arguments from the command line.
Try adding an argument that isn't accepted by the "fundamental" script.


net: ieee802154_mgmt: Fix memcpy to uninitialized pointer location

As since commit bff6a5c, params.dst.ext_addr is no longer assigned with the ctx->coord_ext_addr pointer, but a endianness swap is included, it should be assigned with a proper buffer before the memcpy.
Fixes #58606

@fgrandel This was reported in a large batch of Coverity issues (see the link), please review.

@fgrandel This was reported in a large batch of Coverity issues (see the link), please review.

Thanks for fixing this.


How to apply multiple cwd entries for ssh debugging?

Currently there is only one cwd from the launch config mapped to one from ssh.cwd.
Commonly multiple ones are needed...
I suggest to keep the current ssh.cwd but mark it as deprecated (this way people's configuration doesn't break after an update but have the change to adjust and not use that when creating a new setup) and add a new configuration ssh.pathSubstitutions (map paths between the host machine and the local one; the MS extension names that sourceFileMap so we may use that, too - but it should be placed under ssh to keep the correct scope).

multiple cwd? how would that work or what would that do? you can only start an executable in one set working directory

It is enough to have one cwd - but it should be possible to have multiple path translations:
To give my example:
"ssh.pathSubstitutions": {
	// application installed on the machine (could also come from the os distribution)
	"/opt/apps/install/app1": "X:/progs/app1",
	// libraries installed on the machine that the application is linked against
	"/opt/apps/install/app2": "X:/lib/app2",
	"/opt/apps/install/app3": "X:/lib/app3",
	// source for shared objects dynamically loaded by the app
	"/opt/${config:my.app}/src": "${workspaceFolder:src}",  // that's the "real" cwd
	// source for shared objects loaded by the modules
	"/opt/lib1": "X:/common/lib1",
	"/opt/lib2": "X:/common/lib2"
},

Is there a reason that the regular pathSubstitutions configuration wouldn't meet those needs?  The MS sourceFileMap is the equivalent of the pathSubstitutions configuration in this extension.  I don't believe there is a special sourceFileMap configuration for the pipeTransport in the MS extension.

Is there a reason that the regular pathSubstitutions configuration wouldn't meet those needs?

That's a good question which answer is necessary to understand, so "let's doc a bit".
Yes - there is a reason. The regular pathSubstitutions are given to GDB and tell it how to relate the source references in the debug info to the actual files on the machine (so GDB can find them).
If you use GDB remote debugging, the debug info needs to either be on the host machine or is copied over the connection, GDB then maps the source entries to the host machine where it runs on. You only need the source on the host and need the debug symbols either on the host or have a connection where GDB can download them as-needed [or you have a debugserver but then GDB will download it from there].
With the ssh options GDB runs on the ssh-target, it may still need path substitutions on the ssh-target to find the source there.
ssh.pathSubstitutions will then map what GDB has as file reference on the ssh-target machine to the place where vscode runs.
Debug info is only needed on the host (which may save a lot of bandwith), source files are needed on both the host and the ssh-target. [again: GDB, now running on the ssh-target may get those from a debugserver; and as a special case GDB may only run on the ssh-target but is connected to another machine itself so the ssh-target may not even run the inferior; and yes, that's sometimes needed because the only way you get to the "real" target is to use a ssh connection to kind of a proxy].

Thanks for the follow-up.  I use GDB in many different configurations, although I haven't had a need yet to use it over SSH.  I guess there is an additional level of indirection that needs to be accounted for when running in that environment.

I guess there is an additional level of indirection that needs to be accounted for when running in that environment.

Yes. pathSubstitutions are for the running GDB on the remote to find the sources, the new ssh.sourceFileMap will be taken into account to map directories that are found and named by GDB to local ones (that vscode opens).
@WebFreak001 already did the hard work for the mapping (necessary in both directions, from local to remote mostly when setting breakpoints via ui [setting breakpoints via console will need the GDB view of the paths]).
I'm working on this now during wait for the decision about the changed attach #241.


Unit test contents repeated.

For example, if a file has multiple functions, after generating a unit test file for function one, select another function, and then generate a unit test, it will copy all the previous contents, cause the previous content is repeated. The experience was very poor and I wanted to improve.

Hi @ygqygq2 !
Thank you for feedback!
We're working on improving this. Stay tuned :-)


Formatting is allowed in town chat messages

MineDown formatting should be disabled in Town Chat, probably.

Interesting, so the logic should escape these messages by default, but it just sort of... isn't working?
https://github.com/WiIIiam278/HuskTowns/blob/4905d5487d184040b0457ffd66d9cf720c35996f/common/src/main/java/net/william278/husktowns/manager/TownsManager.java#L999-L1001
https://github.com/WiIIiam278/HuskTowns/blob/c53378b1431eb4b7b6c3e28e0dd03ce4c8a3e500/common/src/main/java/net/william278/husktowns/config/Locales.java#L137-L151
But a user did report it, so...


描述/Description
已下载漫画无法导出pdf,软件里输出日志未字体下载链接404
Version
4.1.1
使用的操作系统/Operating system
iOS
日志/logs
GET https://raw.githubusercontent.com/wgh136/PicaComic/dev/fonts/NotoSansSC-Regular.ttf
DioException [bad response]: This exception was thrown because the response has a status code of 404 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 404 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
Instance of 'ResponseBody'
截图或视频/Screenshot or video
No response

你好，你好，现在还是不能导出pdf，还是提示缺少字体文件，然后就是下载失败

你好，现在下载的漫画还是不能导出为pdf，还是提示缺少字体文件，然后下载失败

你好，现在下载的漫画还是不能导出为pdf，还是提示缺少字体文件，然后下载失败

已修复，等下个 release


Events are rendered in wrong timeslot due to daylight savings

In the US, daylight savings ended today. At 2am this morning, the clock rolled back an hour and we repeated the hour from 1am to 2am.
This leads to the following situation in the scheduler: there are two time slots labelled 1am and when I create an event after the time change, it is rendered an hour behind where it is supposed to be. I have attached a screenshot as an example. In the screenshot, I created an event on Friday from 9am to 10am. The label on the event is correct, but it is displayed in the scheduler in the 8am to 9am slot, which is incorrect.

If I create an event on Sunday after the repeated hour, it displays correctly. All the other days display as in the screenshot though. Here is an updated screenshot showing this:

Apparently this is only an issue on the actual day that daylight savings ends. Today, I now see that the scheduler does not have the repeated hour, and events all show up in the correct time, except for Sunday, where they are an hour behind. Since the problem only exists for a single day, I'm not sure whether it is worth fixing this, but I'll leave this issue open for now.

That might be a bug. I still want to look into #41 , it seems will be related


Implicit classpath is missing the TestRunner classes as of BEF 1.4.x (junit, hamcrest)

I haven't verified how far back this goes but it affects at least 1.4.x, perhaps earlier releases.
The implicit classpath feature in Bazel is the default behavior, but discouraged (by me!). The full background into this bug 'feature' of Bazel is explained in our solution in Issue #43. We have a functional test that is supposed to verify that we are correct in this mode, but there is apparently a difference in the test environment and an actual running BEF instance. Since I think poorly of implicit classpath, none of my primary test workspaces (nor internal production workspaces) use it. So the feature broke without us knowing.
@AlexeiShmidman discovered it is broken while merging the Bazel Language Server project into the BEF repo. He also figured out a fix, and the fix is in master. Creating this Issue so I can highlight it as a release note for 1.4.x.
Definition of done:

~Figure out why the functional test didn't fail BazelClasspathContainerFTest.testClasspath_BazelJavaProject_implicitdeps~ #298
~The functional test is now ignored since it fails with Alexei's fix. Figure it out and re-enable it.~ #298
~I notice that we don't document the implicit classpath on the classpath page in the User Guide. Fix that.~
Make sure to run the implicit_deps test workspace after major releases
~Consider releasing a patch release for the 1.4.x line NOPE~

I have added a release note to the 1.4.0 and 1.4.1 release descriptions, pointing to this bug.

There was a bug in the label fields of the generated test Aspect files (our functional tests use a workspace generation framework to generate fake Bazel artifacts) that was fixed in #298. The implicit classpath functional test is now enabled again and working correctly.

Added a new doc section about the implicit classpath https://github.com/salesforce/bazel-eclipse/blob/master/docs/bef/using_the_feature_classpath.md#implicit-java-test-dependencies
I am closing this.


Uncaught TypeError: Cannot read property 'type' of null in assertions.js

First off, great idea. I'm really excited about the work being done on this project.
Now, I just tried dropping it into my app and I quickly ran into this showstopping error:

Uncaught TypeError: Cannot read property 'type' of null

Which seems to be happening on this line:
if (hasText) return;else if (typeof child === "string") hasText = true;else if (child.type === "img" && child.props.alt) hasText = true;else if (child.props.children) hasText = hasChildTextNode(child.props, child.props.children);

Specifically, it seems that child is null in this case, so when you try to do child.type, we get an explosion. Adding a check like:
else if (child === null) return;

before the child.type check prevents this from happening, but I'm not really sure if that's the correct solution. Let me know if it is, or if there is a better solution, and I'll be happy to submit a PR.

I put up a pr for this #6

I also put up a pr for this with some tests. undefined also breaks.

@limscoder oh, nice.

I think this was closed by 51bbbaafaaa44dc0e950fb32f05e4e2c1a8d2cb0 and has been released.


!debugNeedsPaint when using a map in the IndexedStack widget

I'm not sure if this is a bug or if I'm using the map in a way that wasn't intended.  I am using flutter_osm_plugin in a tab (not the first one) in IndexedStack. So when I try to show Geopoints on the map at application startup I get an error !debugNeedsPaint. I dealt with this by running the function showing Geopoints only after clicking the tab with the map. But if I click on another tab while rendering GeoPoints, the error also appears. Error:
E/flutter (10780): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: 'package:flutter/src/rendering/proxy_box.dart': Failed assertion: line 3356 pos 12: '!debugNeedsPaint': is not true.
E/flutter (10780): #0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
E/flutter (10780): #1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
E/flutter (10780): #2      RenderRepaintBoundary.toImage (package:flutter/src/rendering/proxy_box.dart:3356:12)
E/flutter (10780): #3      MethodChannelOSM._capturePng (package:flutter_osm_interface/src/channel/osm_method_channel.dart:341:30)
E/flutter (10780): #4      MethodChannelOSM.addMarker (package:flutter_osm_interface/src/channel/osm_method_channel.dart:549:24)
E/flutter (10780): #5      MobileOSMController.addMarker.<anonymous closure> (package:flutter_osm_plugin/src/controller/osm/osm_controller.dart:485:27)
E/flutter (10780): #6      new Future.delayed.<anonymous closure> (dart:async/future.dart:427:39)
E/flutter (10780): #7      Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15)
E/flutter (10780): #8      _Timer._runTimers (dart:isolate-patch/timer_impl.dart:398:19)
E/flutter (10780): #9      _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:429:5)
E/flutter (10780): #10     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

I have a solution for this, maybe it will be useful for someone who has a similar way of using maps. I call the function that draws GeoPoints in the try catch block:
void setItemsOnMap(List<Item> itemsList) async {
    if (itemsList.isNotEmpty && _controller != null) {
      try {
        _items.addAll(itemsList);
        for (Item item in itemsList) {
          if (item.latitude != null && item.longitude != null) {
            GeoPoint geoPoint =
                GeoPoint(latitude: item.latitude!, longitude: item.longitude!);
            _geoPoints.add(geoPoint);
            await _controller!.addMarker(geoPoint,
                markerIcon: MarkerIcon(
                  iconWidget: SomeWidgetWithText(item.number.toString())
                ),
                iconAnchor: IconAnchor(
                  anchor: Anchor.top,
                ));
          }
        }
        await zoomToGeoPoints();
        _paintError = false;
      } catch (e) {
        debugPrint('Error while setting items on the map: $e');
        _paintError = true;
      }
      notifyListeners();
    }
  }

And then I check the variable _paintError in GoRouter:
GoRoute(
          name: 'home',
          path: '/:tab',
          builder: (context, state) {
            final tab = int.tryParse(state.pathParameters['tab'] ?? '') ?? 0;
            if (tab == 3 &&
                mapManager.paintError &&
                appStateManager.isMapPreviouslyOpened) {
              mapManager.setItemsOnMap(playerManager.itemsList);
            }
            return Home(key: state.pageKey, currentTab: tab);
          }

So, basically it works, trying to render the GeoPoints on the map until the user stays on the tab long enough to succeed, but maybe there is an easier way to handle this?
Additionally, I have a few more observations:

Marker icons and road width are much smaller on Android than on iOS. I deal with it simply: size: Platform.isAndroid ? 84 : 40. But should it be so? Interestingly, this does not apply to markers added via the controller.addMarker.
An icon defined in directionArrowMarker seems to have no effect on iOS (the icon does not change from the one defined in the personMarker). I can't test it on Android, because I am having the problems described in this issue.
Marker icons with text on them are blurry on Android, , but clear on iOS.
Is there any way to read the degree of map rotation? It would be useful to display this information to the user.

I'm using Flutter 3.19.3 (3.16.9 before, with the same result) and flutter_osm_plugin 0.70.4.

This error occurs on both Android and iOS. Testing only on simulators (iOS 17.4, Android 12) on Mac M1.

when you navigate to other tabs are you trying to add markers to the map or just when you change the tab the error appears ?

I run the function setItemsOnMap() the first time I click on the map tab. Then I have to wait until the map starts and the markers are generated. Otherwise, the mentioned error appears. After generating the markers, I can change the tabs, the error does not appear.

can you give me some information about those markers like they are location or markt or taxis similar to that because
we can static position where you can use them if you can prepare your markers even before switch to the map and when the user switch to the tab map they will appear with map and you can change them also

Generally, it all works the way I want it to. I just wanted to inform you about this bug and that adding markers to the map in IndexedStack requires additional steps.
My markers are static, but i need a separate icon for each marker, for example:

Preparing markers before switching to map would be even better, but is this possible with individual icon for each marker? If so, how to do it?

as we discuss in #507
I have some question for directionArrowIconbecause i tested on real device it show when angle != 0
you have specific use case  where I need to activate directionIcon ?

@liodali, you asked about directionArrowMarker. I've tested it only on the Android and iOS simulator.
Code:
OSMOption(
        //some code
        userLocationMarker: UserLocationMaker(
            personMarker: MarkerIcon(
              icon: Icon(
                Icons.location_history,
                color: const Color(0xFF46664C),
                size: Platform.isAndroid ? 84 : 40,
              ),
            ),
            directionArrowMarker: MarkerIcon(
              icon: Icon(Icons.navigation_rounded,
                  color: const Color(0xFF46664C),
                  size: Platform.isAndroid ? 84 : 40),
            )),
      //some code
      ),

And then:
await _controller?.enableTracking(
        enableStopFollow: true,
        disableUserMarkerRotation: false,
        anchor: Anchor.center,
      );

The result on the Android simulator:

The result on the iOS simulator:

Changing from disableUserMarkerRotation: false to disableUserMarkerRotation: true has no effect. On the iPhone simulator there is always icon defined in personMarker that never rotates, on the Android simulator - icon defined in directionArrowMarker that always rotates. I'm using 1.0.0-rc.6 version. If I remember correctly, on the stable version, changing the disableUserMarkerRotation had an effect on Android, but not on iOS.

i will add new api in tracking to show directionIcon if you want when start tracking or i will see how i can detect fast changing of location where i can switch to directionMarker
the map orientation has no effect on rotation of user marker
but i will add that feature in the stable version

No, I don't need a new API. A navigation feature is not the main feature in my app:-). I'm just curious. Well, I thought it was a mistake. The documentation includes the following: "to disable rotation of user marker, change disableUserMarkerRotation  to true". It doesn't matter whether I set this property to "true" or "false"- on the Android simulator a marker always rotates as the user moves and turns and on the iOS simulator user marker never rotates.
Once again, here's what it looks like on Android device:

On the iOS device - it looks as if there was no detection of the user's change of direction. The marker never rotates, when the user turns.
The user speed has no impact- I tested it at different speeds (run, bike ride and drive on iOS and 1x - 5x speed on Android).

i published new version contain new feature where you can now get user location without our logic to control the map
which will give the other developer to manipulate the map more freely

Sorry, I didn't have time to test it, but now, after the update, I have the same problems as described here: #519 .
Any hints, how to use controller.startLocationUpdating() method?

the startLocationUpdating and stopLocationUpdating those for third party user location tracking  it means
that you will only get the user location without our logic that means the developer has the freedoom to control the map while getting the user location

await in for will not work as expected
we didnt have a remove marker api with list of markers ????

@liodali, are you asking me? I don't know:-) However, I found another method: removeMarkers(List geoPoints). In osm_controller.dart it is described as:
/// this method will delete list of markers, even if the markers not exist will be skipped

However, using this method has the same result, as using removeMarker(geoPoint) method. Works on Android and crush the app on iOS. But, at least we know, that it's not the for loop's fault.
In osm_map.swift there is function deleteMarkers:
func deleteMarkers(call:FlutterMethodCall){
        let geoPoints = (call.arguments as! [GeoPoint]).map { point -> CLLocationCoordinate2D in
            point.toLocationCoordinate()
        }
        geoPoints.forEach { location in
            self.mapOSM.markerManager.removeMarker(location: location)
        }
    }

i will check it why it did work because it should.work

Maybe this will help a little. Log:
Last Exception Backtrace:
0   CoreFoundation                	       0x10a93b561 __exceptionPreprocess + 226
1   libobjc.A.dylib               	       0x10a0167e8 objc_exception_throw + 48
2   CoreFoundation                	       0x10a9c4d57 _CFGetHandleForLoadedLibrary.cold.1 + 0
3   CoreFoundation                	       0x10a95e312 -[__NSArrayI objectAtIndex:] + 38
4   libswiftCore.dylib            	       0x10d618149 _CocoaArrayWrapper.subscript.getter + 25
5   OSMFlutterFramework           	       0x10b610af0 specialized _ArrayBuffer._getElementSlowPath(_:) + 224
6   OSMFlutterFramework           	       0x10b6186c1 MarkerManager.removeMarker(location:) + 913
7   flutter_osm_plugin            	       0x10a1d6bbf MapCoreOSMView.deleteMarker(call:) + 543 (osm_map.swift:445)
8   flutter_osm_plugin            	       0x10a1c87f4 MapCoreOSMView.onListenMethodChannel(call:result:) + 6308 (osm_map.swift:156)
9   flutter_osm_plugin            	       0x10a1c6799 closure #1 in MapCoreOSMView.init(_:viewId:channel:args:defaultPin:) + 57 (osm_map.swift:72)
10  flutter_osm_plugin            	       0x10a1c687b thunk for @escaping @callee_guaranteed (@guaranteed FlutterMethodCall, @guaranteed @escaping @callee_guaranteed (@in_guaranteed Any?) -> ()) -> () + 123
11  Flutter                       	       0x1168069f0 __45-[FlutterMethodChannel setMethodCallHandler:]_block_invoke + 168
12  Flutter                       	       0x1161c9061 invocation function for block in flutter::PlatformMessageHandlerIos::HandlePlatformMessage(std::_fl::unique_ptr<flutter::PlatformMessage, std::_fl::default_delete<flutter::PlatformMessage>>) + 94
13  libdispatch.dylib             	       0x10c0af3ec _dispatch_call_block_and_release + 12
14  libdispatch.dylib             	       0x10c0b06d8 _dispatch_client_callout + 8
15  libdispatch.dylib             	       0x10c0bf48c _dispatch_main_queue_drain + 1420
16  libdispatch.dylib             	       0x10c0beef2 _dispatch_main_queue_callback_4CF + 31
17  CoreFoundation                	       0x10a897b34 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
18  CoreFoundation                	       0x10a89246f __CFRunLoopRun + 2463
19  CoreFoundation                	       0x10a8916ed CFRunLoopRunSpecific + 557
20  GraphicsServices              	       0x11c0df08f GSEventRunModal + 137
21  UIKitCore                     	       0x12d5f46ee -[UIApplication _run] + 972
22  UIKitCore                     	       0x12d5f916e UIApplicationMain + 123
23  Runner                        	       0x100bcf7af main + 63 (AppDelegate.swift:6)
24  dyld_sim                      	       0x1095023e0 start_sim + 10
25  dyld                          	       0x200fb5366 start + 1942

And the strangest part. I modified my code:
try {
      for (var i in [0, 1, 2, 3]) {
        GeoPoint geoPoint = _geoPoints[i];
        debugPrint('removing ${geoPoint.longitude}, ${geoPoint.latitude}');
        await controller.removeMarker(geoPoint);
      }
    } catch (e) {
      debugPrint('Error while removing items from the map: $e');
    }

And it works! But if I add another geopoint, the application crashes again. I thought there was something wrong with these geopoints, but if I remove one at a time (GeoPoint geoPoint = _geoPoints[4]), it works again!
I looked at it again and it turns out that with this method I actually remove every other point. So instead of 1st, 2nd, 3rd, 4th geopoints, 1st, 3rd, 5th, 7th are removed (even if I don't give their coordinates!). So probably, when adding the 5th element to the list, the method tries to remove the 9th? geopoint which does not exist? This is really weird:-)

i will publish new version today

the new version 1.0.3 published
i can sugges to use removeMarkers or use this way
Future.forEach(_geoPoints, (geoPoint) async {
                          await controller.removeMarker(geoPoint);
                          await Future.delayed(Duration(milliseconds: 100));
})

also for any error in ios try to run pod update and check that OSMFlutterframework in the version 0.6.4

I need more testing, but it looks like it's working now. Thanks!

The unhandled exception happens when you add a marker onto an initialized map, but the map is not visible.
Create two screens, initialize them both and on the mapIsReady callback draw a marker. If you are not on the screen the map is at, the exception happens. If you are on the screen with the map, a marker gets added.


⏱ Temporary Moderation commands + Mute

Pull request

[x] I have read and agreed to the code of conduct.
[x] I have read and complied with the contributing guidelines.
[x] What I'm implementing was assigned to me or was not being worked on and is a somewhat requested feature. For reference see our GitHub projects.
[x] I have tested all of my changes.

Added/Changed

Temp mute, temp ban, mute and unmute commands

jenkins build


Install and implement QIB datatype

Instead of creating new "MR Sessions" to store derived data, the QIB datatype should be used instead.

After looking into the QIB datatype, I think it is probably better to design a specific Arcana datatype

Could also add a datatype to handle the subject, project and visit summaries...


Title: Body Metrics Master

Is your feature request related to a problem? Please describe.
It will calculate the average body mass index of a user.
Describe the solution you'd like.
Using html , css  and js to build it.
Describe alternatives you've considered.
I have just prompted user to enter his/her details and get the result.
Add any other context or screenshots about the feature request here.

@happyrao78 This project already exits in the repo.


Response body is nil in rails 3.2.1(ruby 1.9.3)

I fixed it for myself. May be it will be interesting for you.

Thanks for the patch. do you know if this fix is backwards compatibility with rails 3.0.x and 3.1.x  ?
--
Sandeep Ghael
On Thursday, February 16, 2012 at 7:40 AM, Alexey Krasnoperov wrote:

I fixed it for myself. May be it will be interesting for you.
You can merge this Pull Request by running:
git pull https://github.com/Matsarello/speedy_c2dm master
Or you can view, comment on it, or merge it online at:
https://github.com/sghael/speedy_c2dm/pull/4
-- Commit Summary --

Original bug fix

-- File Changes --
M lib/speedy_c2dm.rb (4)
-- Patch Links --
https://github.com/sghael/speedy_c2dm/pull/4.patch
https://github.com/sghael/speedy_c2dm/pull/4.diff

Reply to this email directly or view it on GitHub:
https://github.com/sghael/speedy_c2dm/pull/4

http://ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTP.html#method-i-post

This method returns a Net::HTTPResponse object.

http://ruby-doc.org/stdlib-1.9.2/libdoc/net/http/rdoc/Net/HTTP.html#method-i-post
http://ruby-doc.org/stdlib-1.9.1/libdoc/net/http/rdoc/Net/HTTP.html#method-i-post
http://ruby-doc.org/stdlib-1.8.7/libdoc/net/http/rdoc/Net/HTTP.html#method-i-post

In version 1.1 (ruby 1.6), this method returns a pair of objects, a Net::HTTPResponse object and an entity body string. In version 1.2 (ruby 1.8), this method returns a Net::HTTPResponse object.

I think it should work in all new versions of ruby.


Fix very slow global introspection query when there are lots of databases

The introspection query was fetching annotations, which can never be
populated on databases and which was exhibiting some pretty
pathological quadratic time introspection queries. With 500 dbs,
it took me about 30s.
Also add a new knob to the patch system so that we can apply this in a
patch without it needing to do anything expensive on each database.

    ('edgeql+schema+globalonly', ''),

is the patch we want, though if there is already an edgeql+schema patch in the same version then it isn't needed.


Raspberry Pi Zero 2 W problems need help !

I am using a Raspberry Pi Zero 2 W and currently don’t have an FTDI adapter. Is it necessary or mandatory for UART communication?
I am using GPIO 15 and GPIO 14 (TXD and RXD) for UART communication. A few days ago, everything was working fine, but now I keep getting errors like:
Traceback (most recent call last):
  File "/opt/apple-home-key-reader/util/threads.py", line 18, in function_
    target(*args, **kwargs)
  File "/opt/apple-home-key-reader/service.py", line 178, in run
    self.clf.open(self.clf.path)
  File "/usr/local/lib/python3.11/dist-packages/nfc/clf/__init__.py", line 149, in open
    self.device = device.connect(path)
                  ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/nfc/clf/device.py", line 112, in connect
    device = driver.init(tty)
             ^^^^^^^^^^^^^^^^
  File "", line 78, in init
  File "/usr/local/lib/python3.11/dist-packages/nfc/clf/pn532.py", line 190, in __init__
    super(Device, self).__init__(chipset, logger)
  File "/usr/local/lib/python3.11/dist-packages/nfc/clf/pn53x.py", line 478, in __init__
    chipset_communication = self.chipset.diagnose('line')
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/nfc/clf/pn53x.py", line 269, in diagnose
    return self.command(0x00, data, timeout=1.0) == data
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/nfc/clf/pn53x.py", line 211, in command
    raise IOError(errno.EIO, os.strerror(errno.EIO))
OSError: [Errno 5] Input/output error

I have already tried both ttyAMA0 and ttyS0, but neither works. I have also configured the serial settings on the Raspberry Pi correctly.
And I also get this erros.
[2024-09-21 22:27:37,300] [   ERROR] service           :175  Connecting to the NFC reader...
NoneType: None
[2024-09-21 22:27:37,301] [    INFO] __init__          :148  searching for reader on path tty:ttyAMA0:pn532
[2024-09-21 22:27:38,379] [   ERROR] pn53x             :210  frame lenght value mismatch
[2024-09-21 22:27:38,380] [   ERROR] threads           :20   Unhandled exception in runner homekey. Continuing in 5 seconds
Traceback (most recent call last):

Try removing the tty prefix from AMA0

Try removing the tty prefix from AMA0

Thank for this tip. I have tested AMA0 and S0 (ttyS0). Nothing worked :-(. Any ideas why? If I used some FTDI adapter on a Raspberry PI4 it will work. But I want to use the zero pi without FTDI adapater.

Frankly, I don't know exactly what could be the problem with your set up, so I'm gonna drop a couple of points worth checking (apart from those you did).

If your PN532 board is red, check that the switches are configured properly for UART.

Verify that you're using the proper rx tx pins matched for AMA0.

Don't forget that tx and rx have to be swapped between recepient and sender device.

According to NFCPY example, AMA0 should be used without the tty for RPI, so no sense in trying other variations, as this one should be good.

Frankly, I don't know exactly what could be the problem with your set up, so I'm gonna drop a couple of points worth checking (apart from those you did).

If your PN532 board is red, check that the switches are configured properly for UART.
Verify that you're using the proper rx tx pins matched for AMA0.
Don't forget that tx and rx have to be swapped between recepient and sender device.
According to NFCPY example, AMA0 should be used without the tty for RPI, so no sense in trying other variations, as this one should be good.

4 I think you said it already, but just in case I remind to check that both the bluetooth setting is disabled, and the serial is enabled without console.

Thank man for the fast reply. So here are some additional information about my setup. I have now used some raspberry pi 4 b. Because at the moment my raspberry pi zero 2 w didn't start anymore. But the raspberry pi 4 b have same wirering. See my pictures:

The wiring looks fine.
So it's either
A) A dead NFC board
But if it works through a USB adapter, then
B) A misconfiguration of the serial port or software

The wiring looks fine.
So it's either
A) A dead NFC board
But if it works through a USB adapter, then
B) A misconfiguration of the serial port or software

Okay! So here are some extra information. I have now ordered this NFC Readers:
https://www.amazon.de/dp/B0B1QB4347?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1
At the moment I have this two readers here an both of them only works with the USB Adapater.
https://www.amazon.de/dp/B0CJHVBNMS?ref=ppx_yo2ov_dt_b_fed_asin_title
Raspberry Pi:
config.txt
# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=off
#dtparam=i2s=on
dtparam=spi=off

dtoverlay=pi3-disable-bt
dtoverlay=disable-bt
dtoverlay=uartx

[all]
enable_uart=1
dtoverlay=uartx
dtoverlay=disable-bt

configuration.json
{
    "logging": {
        "level": 20
    },

    "nfc": {
        "port": "AMA0",
        "driver": "pn532",
        "broadcast": true
    },

    "hap": {
        "port": 51926,
        "persist": "hap.state",
        "default": "locked"
    },

    "homekey": {
        "persist": "homekey.json",
        "express": true,
        "finish": "silver",
        "flow": "fast"
    }
}

And if i run the script python3 main.cf get this errors
[2024-09-22 15:57:28,768] [   ERROR] repository        :42   Could not load Home Key configuration. Assuming that device is not yet configured...
Traceback (most recent call last):
  File "/opt/apple-home-key-reader/repository.py", line 30, in _load_state_from_file
    configuration = json.load(open(self.storage_file_path, "r+"))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/json/__init__.py", line 293, in load
    return loads(fp.read(),
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[2024-09-22 15:57:28,787] [    INFO] accessory_driver  :483  Loading Accessory state from `hap.state`
[2024-09-22 15:57:28,789] [    INFO] accessory_driver  :320  Starting the event loop
[2024-09-22 15:57:28,789] [   ERROR] service           :175  Connecting to the NFC reader...
NoneType: None
[2024-09-22 15:57:28,791] [    INFO] __init__          :148  searching for reader on path tty:AMA0:pn532
[2024-09-22 15:57:28,792] [    INFO] accessory_driver  :372  Starting accessory NFC Lock on addresses ['<IP_ADDRESS>'], port 51926.
[2024-09-22 15:57:28,944] [    INFO] __init__          :151  using PN532v1.6 at /dev/ttyAMA0
[2024-09-22 15:57:29,492] [ WARNING] pn53x             :188  missing ack frame
[2024-09-22 15:57:29,492] [   ERROR] pn53x             :216  frame lenght checksum error
[2024-09-22 15:57:29,492] [   ERROR] threads           :20   Unhandled exception in runner homekey. Continuing in 5 seconds
Traceback (most recent call last):
  File "/opt/apple-home-key-reader/util/threads.py", line 18, in function_
    target(*args, **kwargs)
  File "/opt/apple-home-key-reader/service.py", line 185, in run
    self._read_homekey()
  File "/opt/apple-home-key-reader/service.py", line 111, in _read_homekey
    remote_target = self.clf.sense(
                    ^^^^^^^^^^^^^^^
  File "/opt/apple-home-key-reader/util/bfclf.py", line 202, in sense
    sense_broadcast(target, options.get("broadcast", None))
  File "/opt/apple-home-key-reader/util/bfclf.py", line 163, in sense_broadcast
    _ = self.device.chipset.in_communicate_thru(broadcast, timeout=0.25)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/apple-home-key-reader/venv/lib/python3.11/site-packages/nfc/clf/pn53x.py", line 416, in in_communicate_thru
    data = self.command(0x42, data, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/apple-home-key-reader/venv/lib/python3.11/site-packages/nfc/clf/pn53x.py", line 217, in command
    raise IOError(errno.EIO, os.strerror(errno.EIO))
OSError: [Errno 5] Input/output error

Any ideas?
I have also tested the NFC Reader on some ESP32 but on this device the ESP32 didn't find the NFC Reader.
But with USB Connector on Pi the Reader is working very strange?!
Thanks for any help now!

But with USB Connector on Pi the Reader is working very strange?
This either means that the UART pins are dead on your PI, or that you didn't turn off Bluetooth and TTY console after all.

But with USB Connector on Pi the Reader is working very strange?
Wenn es über den USB-Adapter funktioniert, liegt das Problem auf der PI-UART-Seite.

Okay I have completely reinstalled the Pi4 now. And disable Bluetooth and TTY also but get this error message. Yes with some USB Adapter it will work. The strangest thing is, that this setup was working on my pi zero 2 w. But the pi zero 2 w is now dead, because no led is flashing, so i have ordered a new one. My first setup was on the pi zero 2 w without usb adapater and work perfectly.
Did you have any information about your configuration? How did you disable bluetooth and TTY?

I don't have Raspberry Pi on hand right now, but when I did, i enabled AMA0 UART support through both methods:

raspi-config: System Options -> Serial -> Login Shell NO -> Serial Enabled YES. Reboot

Edit config.txt file, adding dtoverlay=disable-bt and enable_uart=1z

There are many tutorials on Google and mentions in the official docs like those.

I don't have Raspberry Pi on hand right now, but when I did, i enabled AMA0 UART support through both methods:

raspi-config: System Options -> Serial -> Login Shell NO -> Serial Enabled YES. Reboot.
Edit config.txt file, adding dtoverlay=disable-bt and enable_uart=1.

There are many tutorials on Google and mentions in the official docs like those.
If nothing helps, perhaps there's something wrong with one of the hardware components in your system. In which case, I'm out if ideas for now.

Okay I have did this exactly. But get this error Message. And how did you use this Script or run it?
It looks like the Script can not access the nfc without usb Adapter but why? Other Users have also issues.

I have ordered new raspberry and new nfc reader. But with raspberry pi 4 and raspberry pi zero 2 w and two nfc readers won't work. Other users have also problems. any ideas?

As I said, I'm out of ideas.
Maybe try running with "sudo", but there were no such errors in your logs, so I don't think it will help.
Don't remember any other users having the same issue here, so nothing comes to mind.

I have the similar configuration and it works fine:
-RFID Reader: PN532 NFC NXP

RASPBERRY PI ZERO W

The connection is the following:

deactivated UART debug interface:
raspi-config

System Options -> Serial -> Login Shell NO -> Serial Enabled YES. Reboot.

configuration.js
`{
"logging": {
"level": 20
},
"nfc": {
"port": "ttyS0",
"driver": "pn532",
"broadcast": true
},

...
}
}`


Crash when opening a folder containing many Tiff files

the application closes when inside a folder there are many tif format files in a folder, the error happens to me day by day and the only way to open those folders is by right clicking open in a new tab
debug.txt
debug_fulltrust.txt

Thanks for the report. Could you try the following?

Delete the debug files
Open Files and trigger the crash again
Upload the new log files
Thanks!

@NeigeDay could you check if the issue is still present with the new version of Files (1.3)?


write with dynamic size

the api required to know the size before writing the file. i didn't see a reason for this limitation and removed it.

The pull request looks good to me in general. We need such a functionality at https://github.com/prusa3d/PrusaSlicer so we are going to merge it into our project. Namely, we are exporting potentially huge model files, which are XML encoded, thus the compression ration is quite high and keeping the XML encoded model file in memory is not really practical.
I am a bit uneasy about two things though:

mz_zip_writer_create_zip64_extra_data() call at the start of the file block stores uncompressed and compressed size. Naturally the uncompressed size will be over estimated, while the compressed size will be zero (as it was before). I suppose it does not make any difference, as usually the decompressors do not read this block, but they rely on the copy of this block in the central directory at the end of the ZIP file. I used https://en.wikipedia.org/wiki/ZIP_(file_format) as a source and there is no definition of the ZIP64 extra data block, though the "Data descriptor" section says:

If the bit at offset 3 (0x08) of the general-purpose flags field is set, then the CRC-32 and file sizes are not known when the header is written. The fields in the local header are filled with zero, and the CRC-32 and size are appended in a 12-byte structure (optionally preceded by a 4-byte signature) immediately after the compressed data:

Thus I suppose it is all right if the file size at the start of the file block is not correct.

There are weird conditions in the original code as if (uncomp_size <= 3), if (uncomp_size == 0). I am not quite sure what will happen if one called your modified mz_zip_writer_add_read_buf_callback() with maximum size >= 4, but the callback provided less than 4 bytes. This is not a problem in our application, but in general it could be an issue.

Is it an issue if the maximum size mandates a 64bit format, while the callback provides less than 4GB of data? I suppose there will only be a tiny bit of performance and file size penalty, but the code will work and the exported ZIP file will be valid.

Are you using your modification in a production code? How well is your modification tested?

The pull request looks good to me in general. We need such a functionality at https://github.com/prusa3d/PrusaSlicer so we are going to merge it into our project. Namely, we are exporting potentially huge model files, which are XML encoded, thus the compression ration is quite high and keeping the XML encoded model file in memory is not really practical.
I am a bit uneasy about two things though:

mz_zip_writer_create_zip64_extra_data() call at the start of the file block stores uncompressed and compressed size. Naturally the uncompressed size will be over estimated, while the compressed size will be zero (as it was before). I suppose it does not make any difference, as usually the decompressors do not read this block, but they rely on the copy of this block in the central directory at the end of the ZIP file. I used https://en.wikipedia.org/wiki/ZIP_(file_format) as a source and there is no definition of the ZIP64 extra data block, though the "Data descriptor" section says:

If the bit at offset 3 (0x08) of the general-purpose flags field is set, then the CRC-32 and file sizes are not known when the header is written. The fields in the local header are filled with zero, and the CRC-32 and size are appended in a 12-byte structure (optionally preceded by a 4-byte signature) immediately after the compressed data:

Thus I suppose it is all right if the file size at the start of the file block is not correct.

There are weird conditions in the original code as if (uncomp_size <= 3), if (uncomp_size == 0). I am not quite sure what will happen if one called your modified mz_zip_writer_add_read_buf_callback() with maximum size >= 4, but the callback provided less than 4 bytes. This is not a problem in our application, but in general it could be an issue.

Is it an issue if the maximum size mandates a 64bit format, while the callback provides less than 4GB of data? I suppose there will only be a tiny bit of performance and file size penalty, but the code will work and the exported ZIP file will be valid.

Are you using your modification in a production code? How well is your modification tested?

Thank you for your comment and research @bubnikv !
I fear I never ended up using this in https://github.com/opendocument-app/OpenDocument.core. The use case is quite similar to yours but the XML files are rather small. Since I would also have to deal with input vs output streams I was seeking for a simpler solution and ended up storing the encoded XML in memory temporarily.
 Did you try to encode the XML to /dev/null or a simple counting output stream? This way you could estimate the size and then store it.

Thank you for your comment and research @bubnikv !
I fear I never ended up using this in https://github.com/opendocument-app/OpenDocument.core. The use case is quite similar to yours but the XML files are rather small. Since I would also have to deal with input vs output streams I was seeking for a simpler solution and ended up storing the encoded XML in memory temporarily.
 Did you try to encode the XML to /dev/null or a simple counting output stream? This way you could estimate the size and then store it.

 Did you try to encode the XML to /dev/null or a simple counting output stream? This way you could estimate the size and then store it.

After sleeping over it, I think this is not needed and your code should be safe.
At the end of the day, I ended up splitting the "callback" function into "open", "push another block" and "close" methods, implementing kind of a streaming interface. I am currently testing it.

 Did you try to encode the XML to /dev/null or a simple counting output stream? This way you could estimate the size and then store it.

After sleeping over it, I think this is not needed and your code should be safe.
At the end of the day, I ended up splitting the "callback" function into "open", "push another block" and "close" methods, implementing kind of a streaming interface. I am currently testing it.


Update: Not Authorized

https://issues.redhat.com/browse/RHCLOUD-34200

[ ] footer row gap between primary action and secondary actions need updated to use global/spacer/gap/group-to-group/vertical:  24px/spacer-400

semantic spacer for the gap
--pf-t--global--spacer--lg

@kaylachumley this one looks to be already fixed https://react-component-groups-pr-component-groups-289.surge.sh/extensions/component-groups/not-authorized


Race condition on creating replica right after master RDS is created

I am unable to create a replica at the same time as the master RDS, it fails saying the current DB instance is not in the available state, if I run it again after it works just fine.
Error: Error creating DB Instance: InvalidDBInstanceState: DB instance is not in the available state
	status code: 400, request id: 46476712-6967-4bb2-a0c8-a699fce6cbd0

Is there a way to include a sleep or depends on the master being available before trying the readreplica.

You can use replicate_source_db = module.rds.this_db_instance_id where module.rds is your master rds.

please see the above statements and what has been demonstrated in the examples/replica-mysql or examples/replica-postgresql


get_body - use deparse and collapse longer bodies

Two changes to get_body()

using deparse() instead of capture.output() (The latter creates, writes to and then reads from a temp file every iteration)
combine longer methods into a single line while removing superfluous whitespace

Compare for example abbreviate (the first function in base):
## Previously
"abbreviate" : "abbreviate(names.arg, minlength = 4L, use.classes = TRUE, dot = FALSE, ",

## Current
"abbreviate" : "abbreviate(names.arg, minlength = 4L, use.classes = TRUE, dot = FALSE, strict = FALSE, method = c(\"left.kept\", \"both.sides\")) ",

Merged. Thanks.

I am looking a more user friendly way to generate the package and syntax files. Any suggestions?

What details specifically do you need to extract? Just function name and prototype?


Make it run on multiple threads

This doesn't work.  The work moves between threads in the pool, but it completely fails to use any of them concurrently.  I couldn't work out where the bottleneck was.  This might at least provide a baseline for further tests though.

My current theory is that we need more calls to spawn in different places, so that the runtime polls more futures.  I was not successful in spawning off more tasks though.

My current theory is that we need more calls to spawn

same feeling here. We need to make child tasks run in parallel with the parent, currently we're just polling one large future by a single thread. I've done some experiments and it seems there is a deadlock somewhere, even if I add parallelism to send and receive (with #603 in place, so it is not related to panics inside seq_join).
I think even if I can make it work, it won't be enough as all the expensive stuff (AES and friends) will be happening in one thread. Probably the parallelism need to be at multiply or seq_join item level.


Port Craft 3?

Wondering if ya'll were going to port this to Craft 3, or if I should fork it.
Happy to do the work and PR if you haven't already started.

Hey Tim, see #8

Doh, thanks!


File unload

How to unload the pdf file, while delete the file after showing pdf, File access error occur. I am Dispose function also used. it not worked.

This should just work. Could you possibly provide a code sample that
demonstrates the problem?
On Tue, May 3, 2016, 16:24 Ravindran001<EMAIL_ADDRESS>wrote:

How to unload the pdf file, while delete the file after showing pdf, File
access error occur. I am Dispose function also used. it not worked.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/pvginkel/PdfiumViewer/issues/64

Sample code:
PDFviewer1.Document = PdfiumViewer.PdfDocument.Load(FileName)
{
Some codes...
}
if File.exist(FileName) then
File.Delete(FileName)
End if
Error Shows:
The process cannot access the file 'File Path' because it is being used by another process.

What I'm missing is the Dispose call of PDFviewer1.Document. You do need to
dispose that before you can delete the file.
On Wed, May 4, 2016 at 11:45 AM Ravindran001<EMAIL_ADDRESS>wrote:

Sample code:
PDFviewer1.Document = PdfiumViewer.PdfDocument.Load(FileName)
{
Some codes...
}
if File.exist(FileName) then
File.Delete(FileName)
End if
Error Shows:
The process cannot access the file 'File Path' because it is being used by
another process.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/pvginkel/PdfiumViewer/issues/64#issuecomment-216813817

I tried with dispose call but the error exist the same
PDFviewer1.Document = PdfiumViewer.PdfDocument.Load(FileName)
{
Some codes...
}
PDFviewer1.Dispose()    'using dispose call
if File.exist(FileName) then
File.Delete(FileName)
End if
Error Shows:
The process cannot access the file 'File Path' because it is being used by
another process.

The stream was not correctly disposed. This should have been solved. I'm creating a new version in a moment. Please let me know if that didn't solve your issue.


Fix issue 530: rename variables to the same name when returning result from match

Fixes #530. PR is a huge rework of Bindings implementation. New implementation is about 15% faster than previous one and logic is simpler. There are some minimal MeTTa tests which fails, the reason is the same as in https://github.com/trueagi-io/hyperon-experimental/pull/532#issuecomment-1884509626, so I am going to work on this in separate PR.

Thanks Vitaly!


The app upload is invalid: Symlink(s) point outside of root folder

Command
I have a very simple node app
package.json
{
  "name": "test-link",
  "version": "1.0.0",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "^4.16.2"
  }
}

server.js
let express = require('express');

let app = express();
app.use((req, res) => {
  res.send('OK');
});
app.listen(process.env.PORT);

npm install
cf push test-link

What occurred
Push failed with this error
Waiting for API to complete processing files...
Job (240257ea-c821-4026-bffa-041eb4492f3a) failed: The app upload is invalid: Symlink(s) point outside of root folder
FAILED

What you expected to occur
I expected push to succeed.
There is a single symlink and it points inside the app folder.
$ find . -type l
./node_modules/.bin/mime
$ ll ./node_modules/.bin/mime
lrwxr-xr-x  1 i031257  GLOBAL\Domain Users  14 Jan 10 10:20 ./node_modules/.bin/mime -> ../mime/cli.js

CLI Version
$ cf -v
cf version 6.34.0+f53d03a5e.2018-01-09

CC API Endpoint Version
$ cf api
api endpoint:   https://...
api version:    2.99.0

Platform & Shell Details
Mac OS 10.13.2

Just came here to say that I experienced this issue out of the blue while trying to do an emergency re-deployment of a python web app using the python buildpack on PWS (a public instance of cloud foundry).  Not a pleasant surprise!
If you do experience this error while deploying a python application with the python buildpack, the likely culprit is that you didn't add your virtualenvs folder to the .cfignore file.  For instance, if your application's virtualenv folder is called env at the project root, you would add a line with env in it to the .cfignore file.  That worked in my case and after adding it, I was able to do a successful deploy of my application.
I would have really appreciated a little bit more verbose feedback from the CLI to point me at the exact issue.  For instance, the path to the offending symlink in question would have been really helpful.  Thanks for taking the time to read the feedback, hope it was helpful.

We're still seeing this issue and are fixing our version of CF CLI to before 6.34 so that we're still able to deploy.

@dotchev @xi4oc4i @rkomiyama @clncln1 @francisgauthier93 @dcolebatch @wileykestner @berlin-ab Looks like our colleagues on the CC team delivered a related fix. Does this solve your problem? https://github.com/cloudfoundry/cloud_controller_ng/issues/1057

Closing as wontfix for CLI. Fixed on Cloud Controller as mentioned in earlier comment.

Looks like a known issue that many are going to hit as they follow the message PRO TIP: It is recommended to vendor the application's Node.js dependencies when pushing a node.js app.
http://docs.cloudfoundry.org/buildpacks/node/index.html#vendoring

Ended up in this thread because a Python app failed with the error

The app upload is invalid: Symlink(s) point outside of root folder

Deleting virtualenv dir resolved.

For me this was caused by node_modules/.bin - just adding that to my .cfignore resolved things.

This worked for me .


Performance on Oculus quest 3

Thanks for this, amazing work but is there a way to make it faster? I use it in a game for the Oculus Quest 3 and it needs 20-30 seconds to transcribe a 6 words phrase. I am using the tiny model.

I would recommend to check issue #47. Try to play with parameters like threads number or speed-up to see if it improves transcription speed. If any success, please share it in #47.
I will close this issue as dupl.


Trying to understand parsing of document with Form XObject

I am trying to understand the behavior of the parsing of a PDF file with Form XObjects, created with pdfTex.  The file I'm using is this one.
I'm basing my parsing of the Form XObjects on what I see using qpdf --json.    Here are the key parts of the json dump, for page 1.  [My comments in brackets]
"12 0 R": {  [Root]
    "/Count": 6,
    "/Kids": ["3 0 R","66 0 R","91 0 R","123 0 R","133 0 R","138 0 R"],
    "/Parent": "179 0 R","/Type": "/Pages"
}
"3 0 R": {  [Kid 1]
     "/Contents": ["9 0 R","187 0 R"],
     "/MediaBox": [0,0,612,792],
     "/Parent": "12 0 R",
     "/Resources": "8 0 R",
     "/Type":"/Page"
},
"8 0 R": {  [ Note: Even through there is a font here ...  there is an /XObject as well. ]
     "/Font": {"/arXivStAmP": "188 0 R"},
     "/ProcSet": ["/PDF"],
     "/XObject": {"/Im4": "7 0 R"}
},
"7 0 R": {  [ I can't seem to find this object with QPDFObjectHandle functions ]
     "/BBox": [0, 0, 612, 792],
     "/Filter": "/FlateDecode",
     "/FormType": 1,
     "/Length": 5178,
     "/PTEX.FileName": "./ntg.pdf","/PTEX.InfoDict": "13 0 R","/PTEX.PageNumber": 1,
     "/Resources": {
          "/Font": {"/F10": "34 0 R",…,"/F8": "37 0 R"
     },
     "/ProcSet": ["/PDF","/Text"]},
     "/Subtype": "/Form","/Type": "/XObject"
},

My code to process this uses QPDFPageObjectHelper.  I get the page-QPDFObjectHandle fine, as well as the resources-QPDFObjectHandle ([8 0 R]).  I find the /XObject in the resource dictionary, so I'm at the "{"/Im4": "7 0 R"}".
I get {"/Im4": "7 0 R"} as a dictionary. When I use the "/Im4" key to get the "7 0 R" object - I'm expecting the "7 0 R" object to be a dictionary, but it's a stream.  When I stream it using pipeStreamData, it's actually the text for page 1.
So: I can't find the "7 0 R" dictionary (/BBox, /Filter, ... /Subtype=/Form, /Type=/XObject) that qpdf --json finds.
What am I doing wrong?  If needed, I can try and post a mini-working example, but it would take a little time, so I thought I'd just see first if I was missing something simple.
(I'm using QPDF 10.0.1.)

Form XObjects are streams. They are like pages in many ways, but unlike pages, they are streams, and the bodies of the streams are the contents. QPDF 10.0.0 introduced the the filterAsContents method that allows you to filter the contents of form XObjects like page content streams, but otherwise, qpdf doesn't have very many helper APIs for dealing with form XObjects. I actually have this on the TODO list for the next qpdf release. In particular though, QPDFPageObjectHelper doesn't work all that well with form XObjects in the current release.
To get a dictionary for a stream, you use getDict() on the stream. So once you resolve 7 0 R as a stream, use getDict to find the keys. Then you can use pipStreamData on 7 0 R itself.
Let me know if this helps. I'm happy to answer additional questions and to better understand your use case. It might help me create better APIs for form XObjects.

Thanks @jberkenbilt for the clarification.  I'd sort-of tried that, but my problem is I'd used my own version of getDictAsMap() that only worked only on dictionaries, I hadn't used the stream getDict() yet.  (For debugging, I use my own getDictAsMap that returns a pair of the QPDFObjectHandle and it's unparse(), so I can see what's going on in the debugger.  This didn't work for a stream, without doing getDict() as you mentioned first.)  Fortunately, qpdf.cc has so much in it, to show how to do this.  I'd missed the part of using getDict() on the stream, there.
To address the use case: what I'm trying to do is similar to what is being done here, but just extending the processing for when the page has form XObjects; maybe something like this, for now:
std::vector<QPDFPageObjectHelper> pages = QPDFPageDocumentHelper(pdf).getAllPages();
QPDFPageObjectHelper& page = pages.at(QIntC::to_size(pageno-1));
ParserCallbacks cb;
page.parsePageContents(&cb);

QPDFObjectHandle stream;
for (auto& stream : pages_fxo.at(pageno-1).streams)  // could be more than 1
     stream.parseContentStream(stream, callbacks);

Yeah, this is probably a good start. I'll leave this open and mark it as an enhancement. It would be nice if there were something in the library to get pages_fxo, possibly recursively. I've written that code twice now, once in the library itself and once in an external program I wrote for a different purpose. You may also want to keep in mind that form XObjects can contain other form XObjects. I'll try to make this cleaner in a future version, but calling parseContentStream on the form XObject as you have done here should work fine. If it doesn't, let me know.

qpdf 10.1 will have several new methods in QPDFPageObjectHelper to help work with form XObjects that handle recursing into nested form XObjects, and several of the existing methods in that class will work with form XObjects as well as pages. The commit that closes this ticket adds some forEach method, but the enhancements are spread out over several commits and are detailed in ChangeLog. As I write this comment, I have not yet completed the enhancements, so this issue should be considered fully resolved when 10.1 is released.

qpdf 10.1 will have several new methods in QPDFPageObjectHelper to help work with form XObjects that handle recursing into nested form XObjects, and several of the existing methods in that class will work with form XObjects as well as pages. The commit that closes this ticket adds some forEach method, but the enhancements are spread out over several commits and are detailed in ChangeLog. As I write this comment, I have not yet completed the enhancements, so this issue should be considered fully resolved when 10.1 is released.


feat(pipelines) KFP V2 visualization doc

Fix https://github.com/kubeflow/pipelines/issues/5668.
This PR includes following updates:

Add V2 visualization guidance on KFP SDK category. Confusion Matrix, ROC Curve and Scalar metrics.
Refer to new visualization guide from v2 SDK - component development.

Thanks for the update and reminder! Sorry it slipped through the cracks.
/lgtm
/approve


qmodel input parameter  as a callable object

Until now, when defining the q_model at the VI algorithm, the input parameter must be an instanciated q_model. That is:
VI = models.inference.VI(q_model(), epochs=5000)

This parameter could also be the name of the function where the qmodel is specified:
VI = models.inference.VI(q_model, epochs=5000)

Note that both syntaxes must be correct.

Done at commit c32b13c

This is only allowed when the q_model does not have any input parameter. Otherwise an exception is raised.
In the future, we will discuss if we could take the arguments from the p_model.


Plugin manager

Closes #49

I've been running this for a few days now and it seems to work great.
Some comments:

Config settings are set programmatically.
New config settings (by installing package) require an Atom restart (Settings Views cache needs to be cleared for the setting to appear).
By default all plugins are enabled (backwards compatible).
Disabling & enabling works instantly (see screenie).
All plugins settings in the Settings View are grouped in a section named "Plugins".
Groups can't have description, but I think the plugin descriptions are sufficient.
I don't think we can remove the config setting when plugin is uninstalled ?!
Ideas "copied" from Minimap package.
This opens support for custom button types.

TODO:

[x] Convert to ES6.
[X] Implement plugin manager.
[x] Disable on start.
[x] Hide newly added buttons.
[x] Make hiding & restoring of buttons private.
[ ] Specs.
[ ] A line mentioning this in the readme.
[ ] Remove consoles.
[ ] Test, test, test.
[ ] Squash commits.

Hello,
I would really love this feature :)
I am using nuclide with a custom flex toolbar configuration and being able to hide the default icons would be great.
Keep up the good work, and looking forward to the merge

Superseded by https://github.com/suda/tool-bar/pull/163


Misunderstanding for HarDBlock

Hi
I generated the HarDNet68ds.onnx, and visualized the network structure in Netron.
I make a similar figure, which is referenced by result of Netron, with your paper, and try to figure out the same structure.
Please see the belowing figure, it's almost similar.
Layer 8 connected with $8-2^n$ ($8/2^n$), so n=0,1,2,3
Hence, layer 8 connected with layers 7,6,4,0 (Blue line)
But I can't find the connection between "input layer" and "Next Block" (please see the orange lines).
I also trace the code, and can't find any evidence about the connection between input layer  and Next block.
Can you help me figure out this problem?
Many thanks,
Tommy

Hello Tommy,
Thank you very much for your feedback. Yes, you are totally right. We actually have two different versions of HarDNet. The old one has this block-level shortcut link for a fair comparison purpose to align with DenseNet.  The architecture in this repo is actually a new version without this shortcut. Sorry for the confusion. Please let me know if any. Thanks!


The PHP exe file you specified did not run correctly [exit code 1]

I suspect it's failing because my user name has been rendered as DANIEL~1.KLE. On an almost identical setup with the user name Daniel, it worked perfectly.
Setup Log 2017-10-25 #002.txt

Have you got ANSICON installed? Because this hooks into cmd.exe and appears to return exit code 1 for calls that it makes (overriding what the called program returned - for some reason). In this case ComposerSetup assumes that its own call has failed, hence the error message.
See https://github.com/composer/windows-setup/issues/74

Yes, however, both setups had ANSICON installed at the time. I managed to get Composer to install by creating another Windows account with a simpler user name.

Thanks. I don't think the account name is the problem though, if you don't mind bearing with me (I would really like to get to the bottom of this);
From your log:
2017-10-25 13:42:29.862   $ Checking php configuration
2017-10-25 13:42:29.862   $ -- Execute File --
2017-10-25 13:42:29.862   $ Running C:\WINDOWS\system32\cmd.exe /c "C:\server\php5.05.09\php.exe check.php > C:\Users\DANIEL~1.KLE\AppData\Local\Temp\is-IC2B8.tmp\stdout.txt 2> C:\Users\DANIEL~1.KLE\AppData\Local\Temp\is-IC2B8.tmp\stderr.txt"
2017-10-25 13:42:29.944   $ Success: exit code [1]
2017-10-25 13:42:29.945   $ Output from stdout [54 bytes]
                          <ComposerSetup:>5.5.9|C:\server\php5.05.09\php.ini|1|1
2017-10-25 13:42:29.945   $ Output from stderr [0 bytes]
2017-10-25 13:42:29.945   $ Error: [ERR_CHECK_PHP]
                          The PHP exe file you specified did not run correctly [exit code 1]:

This shows that your php.exe successfully ran the installer's check.php script and, via cmd.exe, piped its output correctly to the 2 temporary txt files. There is nothing reported in stderr and the value from stdout is perfect:
<ComposerSetup:>5.5.9|C:\server\php5.05.09\php.ini|1|1

The problem is that the installer received a non-zero exit code, which is strange because  check.php explicitly calls exit(0). The fact that we got the correct output demonstrates that there is nothing wrong with the filenames passed to cmd.exe
So I have to assume that ANSICON is causing this. However, I cannot reproduce this, so could you please tell me what version of ANSICON you are using and how it is installed. The value/existence of the following AutoRun registry keys would also be very helpful:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Command Processor\AutoRun

and for each relevant user:
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

It appears you might be right. ANSICON is not active for the other user. The version is 1.66, which I believe is the most recent version. It was installed via the command prompt by running ansicon.exe -i.
I have created an issue at https://github.com/adoxa/ansicon/issues/108

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun does not exist
HKEY_LOCAL_MACHINE\Software\WOW6432Node does not exist
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun = (if %ANSICON_VER%==^%ANSICON_VER^% "C:\Windows\System32\ANSICON\x64\ansicon" -p)

I haven't checked (for the existence of) the last key for the other user since I never installed it there.

Great stuff, thanks. I can finally reproduce this now - the location in C:\Windows makes the difference. I'll report this in the issue you created. The next release of the installer (4.8.0) will handle this by showing a more meaningful error message, as per this beta:
https://s3-eu-west-1.amazonaws.com/johnstevenson/composer/Composer-Setup.4.7.1.exe

I've added a warning to the error message about installing ansicon to the system directory. https://github.com/composer/windows-setup/commit/8a9dd421b6f15472d54d1d9151f23f0240066d80
Thanks for helping with this.


How to insert a  video in markdown?

Here is an example: https://github.com/hexojs/hexo-theme-unit-test/blob/master/source/_posts/videos.md. It is the source for this post.


dynamic require in production

Hello
My application is server side rendered.
Here is my asyncComponent which load a HomeBackground depending on a marketing code :
export default asyncComponent({
	resolve: () => new Promise(resolve => {
		require.ensure([], () => {
			const path = getStore().getState().marketing.code || "default";
			const component = require("./" + path + "/HomeBackground.jsx");
			resolve(component);
		}, "home-background-loader");
	}),
	serverMode: "resolve"
});

In dev mode, everything works perfectly.
However when I build the app for production, I encounter the following issue (marketing code here is "ul") :

I wonder if dynamic require is handled by react-async-component ?
What am I doing wrong ?
Best regards

Just a shot in the dark but to the best of my knowledge jsx won't compile in the browser. Perhaps use the webpack resolve property to allow you to import that file without specifying the extension.


Rename examples

Created a 'examples--ZH' folder and moved 2 examples into it

simply:
examples
|
|-- zh
       |-- webqa-or-whatever
       |-- news-or-whatever


Working with existing pg roles without grants .

Hello and thank you for you'r job .
We have many existing roles and users in our pg environment . Now we are trying to add AD users sorted by groups to this roles without fixing any grants .  Is there some way to accompish this with ldap2pg ? Something like "roles_query: null " but for grant query's ?

Found solussion  .
Just don't need to add  privileges ,  grant sections to yml. Only user mapping and role parrent .
Thank you for you'r job again .


azblob: copy operation raise error 411 Length Required

When I try to use copy operation in azblob, it will return error about 411 length required.
The whole error message is
Error: Unexpected (permanent) at  => <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<TITLE>Length Required</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii">

Length Required

HTTP Error 411. The request must be chunked or have a content length.

Context:
    response: Parts { status: 411, version: HTTP/1.1, headers: {"content-type": "text/html; charset=us-ascii", "server": "Microsoft-HTTPAPI/2.0", "date": "Fri, 14 Apr 2023 16:27:40 GMT", "connection": "close", "content-length": "344"} }

And my code is
let mut builder = services::Azblob::default();
    builder
        .endpoint(SECRET)
        .account_name(SECRET)
        .container(SECRET)
        .account_key(SECRET);
let op = Operator::new(builder)?.finish();
op.write("hello.txt", "Hello, world!").await?;
op.copy("hello.txt", "hello2.txt").await?;

Related question: HTTP/1.1 411 Length Required on REST API Post call from Azure API Management Service

Hi, thanks for your feedback. I've submitted a PR to try to fix it. Can you test it for me?


apache-httpd: update minor versions of both 2.2 and 2.4 for security-related fixes

Latest available versions of both.
Should probably back-port these to stable too, but 2.4.12->2.4.16 might be a bit of a jump for stable. Possibly the right thing to do is to bring it up to just 2.4.14 on stable, which is the last release including security fixes.
?

Hmm travis appears to have failed because of a download stalling. Possible to restart it?

Thoughts on backport?

Done in 221101a571c0495859441acfbdbe2de0c5dfb4da.

Oh well done


Creating a markdown file that explains query syntax

…y syntax guide
Fixes #
Design discussion issue #
Changes
Please provide a brief description of the changes here.
Merge requirement checklist

[ ] Unit tests added/updated
[ ] Doc-strings & documentation added/updated

Can you view the new file I made with the necessary changes?

Just pushed and made changes


Can't find the real function

I raised my google test version from 1.7.0 to 1.10.0.
and I also raised CMock file version from 0.1.0 to 0.3.1
Previously my test was running well. But after update the version, I got the error like below.
terminate called after throwing an instance of 'std::logic_error'
what():  Error: Function fopen not found. Neither mock nor real function is present.
How can I solve this problem?
It was worked before with
DECLARE_FUNCTION_MOCK2(fopen_Mock, fopen, FILE *(const char *, const char *));
IMPLEMENT_FUNCTION_MOCK2(fopen_Mock, fopen, FILE *(const char *, const char *));
and define the ACTION as below
ACTION(CHECK_PATH)
{
char str[500] = {0, };
if(strncmp(arg0, "/proc", 4) == 0 || strncmp(arg0, "/dev", 4) == 0 || strncmp(arg0, "/", 1) != 0)
{
return fopen_Mock::real(arg0, arg1);
}
memcpy(str, ".", 1);
memcpy(str+1, arg0, strlen(arg0));
return fopen_Mock::real(str, arg1);
}

I found the problem. it is not related to CMOCK implementation.
some library links libselinux, so it was call fopen faster than RUN_ALL_TESTS()