[WIP] VIM-1177 Cannot move to last blank line

Fixed the issue that the caret won't go to the final line when it's blank.

Sorry for my late reply. I closed VIM-1177 with the explanation of the current behavior.


Allow replace with less weight in instance selector

Allow replace with less weight when partial replace is allowed by the options. The algorithm already supports that, in which case the algorithm will fill up the new host and distribute the rest of the load to the rest of the cluster evenly. But right now instance selector is returning errors regardless of the options.
This only affects the non-mirrored mode, while mirrored mode does not allow partial replace and requires the weight to be equal between the new and old instances.
@xichen2020

Coverage remained the same at 83.791% when pulling 26d313aabe628219030863b4cb521826b0edf263 on chao-partial into 2ad5a308cebd320ba8745f9c094860ac6b2b5098 on master.

Coverage remained the same at 83.791% when pulling 26d313aabe628219030863b4cb521826b0edf263 on chao-partial into 2ad5a308cebd320ba8745f9c094860ac6b2b5098 on master.


docs: Add architecture column

I think it might be a good idea to add architecture column to library-matrix.

This documentation has been removed and will not be maintained for now.


PERF: thread local context

[x] Closes #1133
[ ] Tests added
[ ] Fully documented, including history.rst for all changes and api/*.rst for new API

This is interesting!
The pythread APIs require cython 3 alpha?

The pythread APIs require cython 3 alpha?

I believe so.

https://github.com/cython/cython/commit/07115e3f547f9e375e64488e79bca12b45bd08bd
https://github.com/cython/cython/commit/8fab3aabe93c3c60b0084f30fdff6d4fd1e37b42

The part I haven't found a good solution for is de-allocating the context when the thread is removed. The current solution doesn't seem to be stable.

Both those commits you reference are also included in 0.29.x, it seems (if you expand the list of tags in the github UI)

Both those commits you reference are also included in 0.29.x, it seems (if you expand the list of tags in the github UI)

Looks like you are correct. Thanks 👍

This seems to be fairly stable. @jorisvandenbossche if you have time to test this out with dask-geopandas, I would appreciate it.

Downside to this approach is every time you create a thread, a new context is created that is not deleted until the program exits:
def test_crs_multithread():
    # https://github.com/pyproj4/pyproj/issues/782
    crs = CRS(4326)

    def to_wkt(num):
        crs.to_wkt()
        return CRS(4326)

    with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor:
        for result in executor.map(to_wkt, range(10000)):
            result.to_wkt()

    with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor:
        for result in executor.map(to_wkt, range(10000)):
            result.to_wkt()

Leads to a context count: 201

Yeah, I don't know how that works if you use the C API (how you can detect that a thread gets terminated). I think the threading.local python API does that for you, though? (the approach you are using to make CRS thread-safe)
Would there be a way to use threading.local here as well? Although from a quick look, the thread local CRS handling is done in Python, where the python CRS class basically holds a thread local cython _CRS class. But for the PROJ context, it's the cython code that needs access to the local context, so this needs to be done in cython, not Python (I don't know if it would be possible/acceptable to introduce some python overhead in accessing the context in the cython classes)

Would there be a way to use threading.local here as well?

Thanks for taking a moment to share your thoughts on this. The first commit of this PR uses the threading.local approach. It wasn't very stable on pypy in the CI. I am not entirely sure why, but I saw some core dumping. On hypothesis I have is that it has to do with PJ* persisting after the thread closes pointing to the thread-specific context, but I am not sure.
Potential ideas to get the threading.local to work:

Always call proj_assign_context to use the context in the current thread before using any PROJ method on a PJ* object to be sure that it is always using the context in that thread. This would change quite a bit of code and may have performance penalties.
Wrap all cython objecs using a PJ* and PJ_CONTEXT* pointer the same way we did the CRS class and use proj_clone along with proj_assign_context to construct new objects in each thread.

Found a better way - just attach the context manager to each object that uses it. Then, once all references to the object are removed, it deletes the context. This ensures that the thread generated contexts persists as long as it needs to and that it is cleaned up as soon as it is no longer needed.


Install DKMS and kernel headers if needed

https://forum.yunohost.org/t/wireguard-service-wg-quick-wg0-fails-diagnosis-indicates-that-port-8095-is-not-open/28770/11
Kernels older than v5.6 require wireguard-dkms and linux headers.
PR Status

[ ] Code finished and ready to be reviewed/tested
[ ] The fix/enhancement were manually tested (if applicable)

Automatic tests
Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ after creating the PR, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization)

!testme


Build support for CentOS and Docker

Description

For the time being, the OAI project can be built only on RHEL using Podman.
The following PR aims to add support for CentOS as a base OS image and Docker as a container engine.
This is the status so far -

Everything but MME is building successfully.
Although the images are building okay, it's still not clear if they also work as expected.

In that sense, it'd be really helpful if someone can assist with that! 👍
Motivation and Context

How Has This Been Tested?

[ ] Covered by existing integration testing
[ ] Added integration testing to cover
[x] Tested locally
[ ] Have not tested

Types of changes

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

Checklist:

[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Dear authors,
thanks for this pull request. I am happy to see that VMware took an interest in this. It might be worth also starting a discussion between Eurecom, RedHat and VMware on how to possibly collaborate on this in the future. Let us know if you are availiable for such a call.
We shall definitely merge in this pull request, but we need to figure out a few details before. I have seen that you have added a VMware copyright plus the apache header in the new files whereas we haven't done this for any of the other files. So let us check internally if we should do this before.
Florian.


Enables MetaGPT to be used as a dependency for web applications, such as https://huggingface.co/spaces/deepwisdom/MetaGPT.

Features

add log_func for llm stream response
add options to disable llm provider check and remove the call of the LLM in global
Lazy Loading WEB_BROWSER_ENGINE

Result
https://github.com/geekan/MetaGPT/assets/60704484/c99866b8-541a-4d76-8cc9-76a3d5668755

@shenchucheng  the hugging-face video is very cool.  Can we deploy this web app in other place?  Is this web application open source?


Remove grey footer background

Seems kind of unnecessary. I would prefer it just be transparent.

The section is called NonText, I removed the background.


Unable to boot esp8266 after flashing led example

Hello, I'm stuck in this problem. I have successfully compiled the led example, with standard 4M esp and with the wifi ssid and password set to my home network router (honestly I still don't understand if in the wifi.h file I have to put my router's ssid and password, but it is the only thing that makes sens so..).
When uploading it to the esp,(using make -C examples/led test) make gives this output:
		0x0 /Users/sn0wst0rm/esp-open-rtos/bootloader/firmware_prebuilt/rboot.bin 0x1000 /Users/sn0wst0rm/esp-open-rtos/bootloader/firmware_prebuilt/blank_config.bin 0x2000 ./firmware/led.bin
WARNING: Flash size arguments in megabits like '32m' are deprecated.
Please use the equivalent size '4MB'.
Megabit arguments may be removed in a future release.
esptool.py v2.3.1
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Flash params set to 0x0040
Compressed 3104 bytes to 2169...
Wrote 3104 bytes (2169 compressed) at 0x00000000 in 0.2 seconds (effective 114.1 kbit/s)...
Hash of data verified.
Compressed 2048 bytes to 23...
Wrote 2048 bytes (23 compressed) at 0x00001000 in 0.0 seconds (effective 580.4 kbit/s)...
Hash of data verified.
Compressed 431776 bytes to 308801...
Wrote 431776 bytes (308801 compressed) at 0x00002000 in 27.8 seconds (effective 124.3 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
/Users/sn0wst0rm/esp-open-rtos//utils/filteroutput.py --port /dev/cu.wchusbserial1440 --baud 115200 --elf ./build/led.out
Traceback (most recent call last):
  File "/Users/sn0wst0rm/esp-open-rtos//utils/filteroutput.py", line 10, in <module>
    import serial
ImportError: No module named serial
make: *** [test] Error 1

So it seems that it can upload the bin file but then it cannot connect to the esp. I noticed the "//" in the path at the ending but starting the esptool manually with the correct path gives the same error.
However I tried to look at the serial output with Arduino IDE and this is what I get:
 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 2292, room 16
tail 4
chksum 0xef
load 0x00000000, len 0, room 4
tail 0
chksum 0xef
csum 0xef
csum err
ets_main.c

After that the esp seems dead, and I don't know how to proceed.
Could you please help me?
Thank you!!

Found out it was a flash problem, for the nodemcu it needs to be set with dout flashing mode, instead of the default qio


New folders open new windows?

I saw that this was an issue in 2014. Was it fixed? if so, how do I resolve my problem?

Yes, this has been fixed.  Please update to the latest Atom version.  Then, you can open an initial folder if you don't already have one open.  To add subsequent folders without opening a new window, right-click in the tree view and select "Add Root Folder".


implement difficulty tests

2cd01ff1b3720649cfeb06ad4689b6e66d3910f1
https://github.com/ethereum/tests/blob/develop/BasicTests/difficulty.json

@heikoheiko Is this issue resolved?

Python interface for these tests needs to be implemented.

All the difficulty tests were implemented. Please pull my changes.


Introducing config-bucket component

what

Introducing config-bucket component that might be used to store AWS Config data

why

New component config-bucket for AWS Config

references

Closing in favor of https://github.com/cloudposse/terraform-aws-components/pull/675


Generate extension api reference docs using library mode

Had to downgrade typedoc markdown plugin (latest version did not produce good results with older typedoc).
@nevalla PTAL again


Added Python app with dataset

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Looks good?

.


feat(#260): Add Integration Test For High Level Transformation

I added integration test that shows what we want to get as a result of decompilation bytecode into EO. Here is only the high-level overview and a lot of details are omitted.
Closes: #260.

History:

feat(#260): Add integration test skeleton and expected transformations
feat(#260): fix all qulice suggestions

PR-Codex overview
This PR focuses on adding a new dependency and test resources to the project.
Detailed summary

Added a new dependency org.eolang:jucs:0.2.0 in the pom.xml file.
Added a new test resource file simple_objects.yaml in the src/test/resources/packs directory.
Added a new Java class Application.java in the src/test/resources/packs directory.
Added a new Java class A.java in the src/test/resources/packs directory.
Added a new Java class B.java in the src/test/resources/packs directory.
Added a new EO file Application.eo in the src/test/resources/packs directory.
Added a new EO file A.eo in the src/test/resources/packs directory.
Added a new EO file B.eo in the src/test/resources/packs directory.
Added a new Java test class TrasformationPacksTest.java in the src/test/java/it directory.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@maxonfjvipon Is it what we want to receive as a result of bytecode decompilation?

@maxonfjvipon Could you take a look one more time, please?

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 3min)


Missing Use Statement "use \Exception;" in Generated Peer Classes

Peer Classes generated by Propel build are missing the use statement: use \Exception;.
It should be added since the Peer Classes include catch (Exception $e)...

Also, there are some classes that include use statements that are never used, in particular:

use \RelationMap; in the generated "ArchiveTableMap" classes when using the Archive behavior.
use \PropelCollection; in the generated Base Query classes.

use statements in peer classes would break BC for php 5.2 btw.


feat(query): Elasticsearch with HTTPS disabled for Ansible

Proposed Changes

Added query and metadata for Ansible
Added tests
Added positive_expected_result

I submit this contribution under the Apache-2.0 license.

We need to create a CxPolicy in the rego file to trigger a vulnerability result when the EnforceHTTPS attribute is not set in the configuration.
Adding a positive test to cover the previous situation is also needed.

Hi. Done.


Update firefox in "Support browsers" table of "Browser support of FIDO2 passwordless authentication"

In https://learn.microsoft.com/en-us/azure/active-directory/authentication/fido2-compatibility
the table in section "## Supported browsers" (https://learn.microsoft.com/en-us/azure/active-directory/authentication/fido2-compatibility#supported-browsers) needs to have the Firefox related parts updated. As of Firefox release 114.0 its release notes (https://www.mozilla.org/en-US/firefox/114.0/releasenotes/) state:

Users on macOS, Linux, and Windows 7 can now use FIDO2 / WebAuthn authenticators over USB. Some advanced features, such as fully passwordless logins, require a PIN to be set on the authenticator.

based on that, in the column "Firefox USB" I think the cells for both the macOS and Linux rows should now be a green check mark.
--
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 5c860853-d58e-ba80-9cd4-04d33e1dd2e2
Version Independent ID: 5ff539d2-5826-4de1-6d93-55b95a7b041c
Content: Browser support of FIDO2 passwordless authentication - Microsoft Entra
Content Source: articles/active-directory/authentication/fido2-compatibility.md
Service: active-directory
Sub-service: authentication
GitHub Login: @Justinha
Microsoft Alias: justinha

@philgp
Thanks for your feedback! We will investigate and update as appropriate.

@philgp
Thanks for pointing this out. We have performed the required changes and it will reflect soon in the document.
We are going to close this thread as resolved but if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.


coerce to nil

This PR introduces some additional behavior in the encoding.Marshaler and encoding.Unmarshaler types to more correctly serialize nil-like values.
For example, if previously a nil pointer was stored in some value and we tried to serialize it, all sorts of hell would occur. Now, amf0 simply detects that the value is nil-ish and writes 0x05 (the nil marker) instead.
The same behavior has been introduced for going the opposite direction (io.Reader -> struct).
I also created the Bodyless interface which is a tag-type interface that allows us to more easily check whether or not a given AmfType is body-less. This was done since there are multiple amf0 types which mean this (see: amf0.Null and amf0.Undefined).

Is null necessarily a valid value for an object in amf0, as opposed to having an empty object?

Well, I guess the idea here is that you would use a pointer when an object is optional, and a value otherwise?

Well, I guess the idea here is that you would use a pointer when an object is optional, and a value otherwise?

@connor4312 Exactly. It's kind of annoying that this is how it is, but there are several times in the RTMP specification where it says an AMF0 null can be passed instead of an object with no pairs.

Okay. Looks good after the one comment!

Updated. Thanks! :+1:


move all grpc-web calls into deno and push data to browser using web sockets

...as an attempt to side-step some connection funkiness with grpc-web streaming calls.

Now that we seem to have the grpc connection issues sorted out I've been load testing this and the non-websocket versions. They are pretty comparable. Though this version offloads some of the work to deno and taxes the browser less, so I'll merge despite that fact that it introduces some extra complexity.


Allow single test to be specified as an argument to run-nio-alloc-counter-tests.sh.

Motivation:
run-nio-alloc-counter-tests.sh currently runs all tests. When writing or
debugging a test, you commonly want to run a single test. At the moment the
common practice is to edit the script to hardcode a test to run, which is
annoying and error-prone.
Modifications:
Add an optional argument to the script to specify the test to run.
Result:
$ ./run-nio-alloc-counter-tests.sh
runs all tests.
$ ./run-nio-alloc-counter-tests.sh test_decode_1000_ws_frames.swift
runs only test_decode_1000_ws_frames.swift.

@swift-nio-bot test this please


Varargs for description class setters

Is your feature request related to a problem? Please describe.
In many places in the UIMA component description classes, setters accept arrays of values. This makes code calling these setters unnecessarily verbose.
Describe the solution you'd like
Where possible, the setters should be change to accept a variadic argument instead.

Although the japicmp does not seem to complain about this change, there is a source incompatibility here.
The meaning of setFoo(null); would change from set foo to null to set foo to [null]...
This change should probably only be introduced in a major version...


Implement io::Read + io::Seek for hdf5::Reader

I have some encoded data stored within a hdf5::Dataset. Currently I'm using:
let ds = self.group()?.dataset("some_key")?;
let encoded = ds.read_1d()?;
let mut reader = SomeDecoderThatNeedsIORead::new(Cursor::new(encoded.as_slice().unwrap()))?;

or if I only want to read a meta data header:
let encoded = ds.read_slice_1d(s![..1024]) // I need to know the header-size before hand. This may vary.
let mut reader = SomeDecoderThatNeedsIORead::new(Cursor::new(encoded.as_slice().unwrap()))?;

It would be nice to just do:
let mut reader = SomeDecoderThatNeedsIORead::new(ds);

I guess std::io::Read should be simpler to implement, but Seek would also be nice.
In the first place, an uncompressed dataset (i.e. no gzip etc) would be sufficient since compression does not bring any benefit for already encoded data. Not sure if this makes a difference.

That would be very nice for 1D arrays. How would multi-dimensional arrays work? Are they expected to be read in C-order? How should Seek work if a dimension is changed in the dataset?

I guess it only makes sense for 1d arrays since the decoder should take care of the rest, no?

If you could make a prototype showing how io::Read could be implemented that would be great. Here are some more difficulties: Which datatypes do you expect to be able to work on? Is f64 serialised or invalid? Should text be Read-able?

io::Read works on byte level. Thus only u8 will be supported. https://doc.rust-lang.org/std/io/trait.Read.html

Don't think this is possible:
let mut reader = SomeDecoderThatNeedsIORead::new(ds);

– because the reader needs to store state; all that the dataset (and all other HDF5 objects) stores is the HDF5 integer id and nothing else. So, best case scenario it would be something like
let mut reader = SomeDecoderThatNeedsIORead::new(ds.byte_reader());

Another thing to be careful about is threading, most ffi operations are being locked by a shared mutex, so what happens if you open two readers in two parallel threads?

A wrapper is indeed needed to store a pointer to the position in the dataset. I would not expect threading to be a problem, apart from it being blocking if reading from two parallel threads at once.

Hi all,
I made a first prototype, but I am not quite sure about the threading/mutex stuff. Do we need a lock for ptr, so ByteReader can be Send/Sync? Or do we need to add a lock to reader? I guess one could create multiple ByteReader so we don't need a mutex for ptr. My assumption was that we can have multiple readers (or references to the same reader) for the same dataset as long as there is a maximum of one writer? I don't know the hdf5 sys library threading guarantees.
// container.rs
// ...

pub struct ByteReader<'a> {
    ptr: usize,
    reader: &'a Reader<'a>,
}

impl<'a> std::io::Read for ByteReader<'a> {
    fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize> {
        // TODO: Better error handling
        // TODO: How to handle threadding? Do we need a lock like:
        // let mut lock = self.ptr.lock().unwrap();
        // let ptr = lock.deref_mut();
        // TODO: Add reader method that uses the allocation provided by buf
        let tmp = self.reader.read_slice_1d(self.ptr..self.ptr + buf.len()).unwrap();
        // TODO: New reader method should not return an error slice is larger than the dataset.
        // Rather we just return the number of read bytes which may be less than buf.len()
        let n_read = tmp.len();
        self.ptr += n_read;
        buf.clone_from_slice(tmp.as_slice().unwrap());
        Ok(n_read)
    }
}

There's tons of stuff like building HDF5 dataspaces and selections, verifying dimensionality and preallocating buffers in read_slice_1d. This will be very inefficient for a direct allocation-less byte reader. Ideally, all (most) of that stuff should go into ByteReader constructor, so that in the read function you would only have this part, and maybe a few minor things around it:
https://github.com/aldanor/hdf5-rust/blob/c3bd2960090a8f10098311158786309f511ccc73/src/hl/container.rs#L57-L59
All read_* methods as they stand right now are already behind locks (i.e., the FFI calls themselves, like H5Dread). If that's acceptable performance-wise, then it can stay like this.
Most error handling (except for the read call itself) can be done in the constructor (see 1 above).

Next try:
pub struct ByteReade {
    // TODO: Do I need to hold a reference to &Container?
    ptr: usize,
    obj_space: Dataspace,
    obj_id: hid_t,
    tp_id: hid_t,
    xfer: PropertyList,
}

impl ByteReade {
    pub fn new(obj: &Container) -> Result<Self> {
        ensure!(!obj.is_attr(), "ByteReader cannot be used on attribute datasets");

        let file_dtype = obj.dtype()?;
        let mem_dtype = Datatype::from_type::<u8>()?;
        file_dtype.ensure_convertible(&mem_dtype, Conversion::NoOp)?;

        let obj_space = obj.space()?;
        let (obj_id, tp_id) = (obj.id(), mem_dtype.id());
        let xfer = PropertyList::from_id(h5call!(H5Pcreate(*crate::globals::H5P_DATASET_XFER))?)?;
        if !hdf5_types::USING_H5_ALLOCATOR {
            crate::hl::plist::set_vlen_manager_libc(xfer.id())?;
        }
        Ok(ByteReader { ptr: 0, obj_space, obj_id, tp_id, xfer })
    }
}

impl<'a> std::io::Read for ByteReader<'a> {
    fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize> {
        let selection = Selection::new(self.ptr..self.ptr + buf.len());
        let out_shape = selection.out_shape(&self.obj_space.shape()).unwrap();
        let fspace = self.obj_space.select(selection).unwrap();
        let mspace = Dataspace::try_new(&out_shape).unwrap();
        match h5call!(H5Dread(
            self.obj_id,
            self.tp_id,
            mspace.id(),
            fspace.id(),
            self.xfer.id(),
            buf.as_mut_ptr() as *mut libc::c_void
        )) {
            Ok(_) => (),
            Err(e) => return Err(std::io::Error::new(std::io::ErrorKind::Other, e.to_string())),
        }
        Ok(out_shape[0])
    }
}

Do I need to hold a reference to &Container?

I think you have to. Otherwise whoever holds the container can just drop it and you're left with an invalid object.

tp_id: hid_t,

This has to be an object as well, otherwise you have a leak (your byte reader is dropped but the dtype it allocated will stay alive forever).

All those unwraps will obviously have to be cleaned up

Container may be an attribute, not just a dataset, whereas you're assuming it's a dataset only?

I think you have to. Otherwise whoever holds the container can just drop it and you're left with an invalid object.
This has to be an object as well, otherwise you have a leak (your byte reader is dropped but the dtype it allocated will stay alive forever).

Sure, makes sense.

All those unwraps will obviously have to be cleaned up

Yes, I will think about proper std::io::error types

Container may be an attribute, not just a dataset, whereas you're assuming it's a dataset only?

I assumed, io::Read only makes sense for dataset (which I check in the constructor). This is essentially equivalent with read_slice. I don't think an attribute can hold a byte array?

Do I need to hold a reference to &Container?

You can clone the container to make the lifetime easier. This would handle cleaning up the resources after use.

assumed, io::Read only makes sense for dataset (which I check in the constructor). This is essentially equivalent with read_slice. I don't think an attribute can hold a byte array?

Attributes supports byte arrays, both fixed and variable length. Unfortunately you would have to read the entire attribute at once to get any data.


delete fired triggers failed when jdbc connect down, DisallowConcurrentExecution job cannot be triigger

JobRunShell.run
qs.notifyJobStoreJobComplete(trigger, jobDetail, instCode);
delete fired triggers failed when jdbc connect down,
triggers'state  for  DisallowConcurrentExecution job will always be  blocked
job then cannot be triigger  any more
i only can restart cluster node to delete cluster's dirty fire triiger for restore job trigger.

Closing outdated, unresolved issues. Please, reopen if still relevant.


[Bug]: Libraries with similar names could not be extracted

ODC version
4.3.2
OB version
no related
What happened?

Create a new database with a name similar to an existing database, but the database is not extracted
What did you expect to happen?
Extract similar logical database names as normal
How can we reproduce it (as minimally and precisely as possible)?
Create two tickets with similar names, and after the first ticket is successfully extracted, the second table creation ticket is executed, and the second ticket is executed.
Anything else we need to know?
No response

'fanqiu01' and 'fanqiu02' will be both recognized as a logical table named 'fanqiu'. And because fanqiu01 was at first be extracted to a logical table, we will not extract fanqiu02 again because they are considered as a same logical table, we will never update an existing logical table's topology.


model.joint_armature is not set correctly

model.joint_armature is used inside FeatherstoneIntegrator.simulate(...).
It is not being set correctly inside parse_mjcf(), parse_urdf(), or parse_usd(), since it is not passed to builder.add_joint(), so it defaults to 0.01.
MJCF: https://github.com/NVIDIA/warp/blob/v1.0.2/warp/sim/import_mjcf.py#L323-L332
URDF: https://github.com/NVIDIA/warp/blob/v1.0.2/warp/sim/import_urdf.py#L442-L448
USD: https://github.com/NVIDIA/warp/blob/v1.0.2/warp/sim/import_usd.py#L437-L445

Thanks @etaoxing for reporting these issues! We will add an armature argument to the ModelBuilder.add_joint_...() methods and apply this settings in the MJCF, URDF, and USD importers in the next release.

I believe this was added by @eric-heiden in 302b79e37725ad46eed4b49b0ba6d4d5160e0dda. Please reopen the issue of the issue is not fixed. Thanks!


Fix a few minor bugs in backend dynamics

1 Fix a typo in the parsing code
OptionId is wrong and is changed to OptionsId
2 Fix a logic error where the context was checked instead of the target context,

Do you need a new preview version?

Yes, we do!


feat(python): Embedding model tuner

Solves https://github.com/lancedb/lancedb/issues/1021
Design and usage doc - https://www.notion.so/LanceDB-High-Level-Specs-From-ML-perspective-f9b7470b1e4e4c9e8371ad28b574c185?pvs=4#d6a4f29edf3d4ced9954ab8a913ef9f0
Benchmarks for 5 epochs on 65-35 train test split - https://wandb.ai/cayush/lancedb_finetune?nw=nwusercayush

closing due to change in directions


Big query TIMESTAMP field off by factor of 1000

Using master branch. In BigQuery TIMESTAMP fields are off by a factor of 1000 when using fetch_data.
See my in-line comment - https://github.com/GoogleCloudPlatform/gcloud-python/commit/41e64395661a31af8352fb2358e5c95ff5437830#diff-c56e349a3e511bfabb4e8dfcfe686bc8R739

Sorry just saw this. Closing in favor of #1125 (a bit more detail there)


NotificationClient.sendSms can't get notification Id

We experienced a lot of failures from the notification client while sending notifications. The sms/notification gets sent but unable to retrieve the notification id from the response object.
See jira
https://payments-platform.atlassian.net/browse/PP-2168
see stack trace below
pay-adminusers[13856]: Caused by: java.lang.RuntimeException: error sending user notification
pay-adminusers[13856]: #011at uk.gov.pay.adminusers.service.AdminUsersExceptions.userNotificationError(AdminUsersExceptions.java:96)
pay-adminusers[13856]: #011at uk.gov.pay.adminusers.service.NotificationService.lambda$sendSecondFactorPasscodeSms$0(NotificationService.java:58)
pay-adminusers[13856]: #011at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
pay-adminusers[13856]: #011... 3 common frames omitted
pay-adminusers[13856]: Caused by: org.json.JSONException: JSONObject["id"] not a string.
pay-adminusers[13856]: #011at org.json.JSONObject.getString(JSONObject.java:721)
pay-adminusers[13856]: #011at uk.gov.service.notify.SendSmsResponse.<init>(SendSmsResponse.java:20)
pay-adminusers[13856]: #011at uk.gov.service.notify.NotificationClient.sendSms(NotificationClient.java:162)
pay-adminusers[13856]: #011at uk.gov.pay.adminusers.service.NotificationService.lambda$sendSecondFactorPasscodeSms$0(NotificationService.java:54)

This was happening for the smoke tests, where the "to" field was a simulated number, meaning the notification is not persisted or sent but a successful response is returned. The notification was missing the id. This has been resolved in the notifications-api code and deployed to production.


keys added for google analytics

from my research, I need this script tag running on search.polder.info for me to have google analytics reading our site.

You do, but I think where we wanted to start was to decide whether to use Google Analytics, or something else, to collect the metrics we want. GA might be everything we need, but is there something else out that that might suit our needs better? Can you step back and take a look at, say Matomo, to see whether that one might be a good candidate?

Google Analytics and Matomo have the same features to get the data we want but we might have to query them differently.
It seems like the major difference between GA and Matomo is that Matomo is open source which supports what we are trying to do.
But, the drawback of Matomo is that, From this video (https://matomo.org/faq/on-premise/installing-matomo/), we have to set up our own Mysql server to use it.
The other option is to use the Matomo server, we would have to pay for it (we only have a 30-day free trial).
The free version of Google Analytics provides more than enough features like real-time data, custom reporting, advanced segmentation, Flow Visualization, social reporting, conversion reporting, mobile device and app tracking, video performance measurement, multi-channel reporting, data export, and tracking API.
In addition, We do not need to create our own server to query information.
However, the drawback of this standard version is that we have a limited amount of hits per month (10 million hits), 50,000 rows of data, and data freshness of 24 hours. Also, GA is not open source.
From these limitations, I am not sure if these affect us.
more on https://www.impactplus.com/blog/is-google-analytics-free.
Should i mention these to Karen for her input?

Yes, please write this up in an email to me, Karen and Chantelle - it sounds like Google Analytics is probably our best path forward, but it's good to know the pros and cons. Maybe one day we will get to over 10 million hits per month, that's a nice thing to aspire to - but we're definitely not there yet.

Thanks for letting me know!!
Wishing you a great weekend.


Create and destroy do not reload associated object

The problem
When creating or destroying an object with a counter_cache association, the associated object will update the count correctly but its instance is not reloaded in the original object.
Given 2 models:
class Post < ApplicationRecord
  has_many :comments
end

class Comment < ApplicationRecord
  belongs_to :post
  counter_culture :post
end

I expect that:
post = Post.last
comment = Comment.create(post: post, body: "A comment.")

expect(comment.post.comments_count).to eq(1)

without the need to comment.post.reload.
The important things to note here is that if we use the rails counter_cache feature this test will pass.
The counter_culture gem instead does not reload the instance of the relationship object, it needs to be manually reloaded.
This is causing problems in our API environment where the JSON response are created from the instances and the counters do not reflect the persisted data.
Is this an actual bug or a feature? Is there any way to tell counter_culture to reload the relation object instances after a create and destroy?

I'm not sure if I'd call this a bug, but it would definitely be an improvement for this to happen without the need for a reload. That being said, I won't have time to work on this. But I'd love a PR to this effect!

thanks for the clarification @magnusvk :) I'll write some code and open a PR for this

@cintamani Did you find a way to overcome this? Because the problem you exposed is complicated sometimes.


Client cert renegotiation in http

Add server support for certificate renegotiation.
Fix tls state machine on client and server for tls1.2 renegotiation.
Feature Commits:
tls: handle client hello/finished state during tls 1.2 renegotiation
tls: handle server done state during tls 1.2 renegotiation
Commits with new Apis:
tls, http: add tls and http apis for renegotiation
Add tls_set_conn_verify_client_handler,
tls_renegotiate, tls_disable_session_on_reneg,
tls_set_posthandshake_auth, tls_conn_verify_client_post_handshake,
tls_conn_version
Add http_sock_tls
Commit to fix retest on win32:
http: fix read_file on win32 (incorrect get fsize)

this patch is quite large, around 1100 lines
is it possible to split it up into smaller parts, for easier review ?

this patch is quite large, around 1100 lines
is it possible to split it up into smaller parts, for easier review ?

I added PR #711, #712, #713.
The libre test added in PR 713 requires new api's for the http server to test renegotiation.
The test requires #712 to fix renegotiation in the tls statemachine under TLS v1.2
The test requires #711 to fix reading certificate files during this test on Win32.
So what I wanted to say is PR #713 will never have the green light for test ok until TLS #712 / #711 was merged.
This PR #713 is to test why PR #712 fixes the tls client and server state machine during tls renegotiation.

Is replaced by #711, #712, #713.


Broken Link in the page

https://codelabs.developers.google.com/codelabs/androidtv-adding-leanback/index.html?index=..%2F..%2Findex#4
Broken Link

Thanks for reporting an issue. Could you please point to the location where this link is published?


Sort Venue & Destinations sublists alphabetically.

 LOW URGENCY: Update Venues & Destinations landing page

This updates the sublists to sort alphabetically and makes the North America and Global subsections load content in a 3-column fashion like the rest of the page.

 LOW URGENCY: Update "North America" and "Global" layout on "Venues & Destinations" landing page


Support for React 19 as a peer dependency

Hi there,
Thank you for maintaining this amazing library! I recently upgraded my project to React 19 and noticed that allotment currently has peer dependency constraints for React versions ^17.0.0 || ^18.0.0.
The library appears to work perfectly with React 19 in my tests. Would you consider updating the peerDependencies to include React 19?
Let me know if I can assist with testing or providing more details. Thanks in advance!
Best regards,
Andreas

I am getting a lot of fatal errors  Index out of bounds with react 19 and this library

Checked it again, everything works fine for me.

Checked it again, everything works fine for me.

It mostly happens when you rapidly change windows size, and/or have conditional rendering of the panels

use-resize-observer will require review and/or update https://github.com/ZeeCoder/use-resize-observer/blob/master/package.json#L75
I guess we should track issue of use-resize-observer update to react 19

I would also really appreciate it if this library had support for React 19.


ValueError: amount of views is mapped to the duration of the video

Environment

**System OS: Linux

**Python Version: 3.9.1

Install Source:
Installed from master
clone
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Version OR Commit hash:
master 23a7e31b673198c65a86fc3c53b09c85c17766d3

Expected Behaviour
All the songs in the playlist should have been found, and downloaded.
I tried to download the last song individualy, and it failed again on that specific song.
Actual Behaviour
Spotdl crashed
Steps to Reproduce

spotdl https://open.spotify.com/track/563SfWAHJs4FBZMkRN0IFN?si=3aQx31mtRVeTfA35lX8Osg

Traceback
spotdl https://open.spotify.com/track/563SfWAHJs4FBZMkRN0IFN?si=3aQx31mtRVeTfA35lX8Osg
Fetching Song...
Searching for: Adele - Send My Love (To Your New Lover)
Traceback (most recent call last):
  File "/home/jasper/Applications/spotify-downloader/.venv/bin/spotdl", line 33, in <module>
    sys.exit(load_entry_point('spotdl', 'console_scripts', 'spotdl')())
  File "/home/jasper/Applications/spotify-downloader/spotdl/__main__.py", line 93, in console_entry_point
    song = SongObj.from_url(request)
  File "/home/jasper/Applications/spotify-downloader/spotdl/search/songObj.py", line 63, in from_url
    youtubeLink = SongObj.searchProvider(
  File "/home/jasper/Applications/spotify-downloader/spotdl/search/provider.py", line 252, in search_and_get_best_match
    results = search_and_order_ytm_results(
  File "/home/jasper/Applications/spotify-downloader/spotdl/search/provider.py", line 146, in search_and_order_ytm_results
    results = __query_and_simplify(get_ytm_search_query(songName, songArtists))
  File "/home/jasper/Applications/spotify-downloader/spotdl/search/provider.py", line 121, in __query_and_simplify
    return list(map(__map_result_to_song_data, searchResult))
  File "/home/jasper/Applications/spotify-downloader/spotdl/search/provider.py", line 94, in __map_result_to_song_data
    'length': __parse_duration(result['duration']),
  File "/home/jasper/Applications/spotify-downloader/spotdl/search/provider.py", line 77, in __parse_duration
    x = strptime(padded, '%H:%M:%S')
  File "/usr/lib/python3.9/_strptime.py", line 562, in _strptime_time
    tt = _strptime(data_string, format)[0]
  File "/usr/lib/python3.9/_strptime.py", line 349, in _strptime
    raise ValueError("time data %r does not match format %r" %
ValueError: time data '6.6K views' does not match format '%H:%M:%S'
Exception ignored in: <function tqdm.__del__ at 0x7f254eba6af0>
Traceback (most recent call last):
  File "/home/jasper/Applications/spotify-downloader/.venv/lib/python3.9/site-packages/tqdm/std.py", line 1135, in __del__
  File "/home/jasper/Applications/spotify-downloader/.venv/lib/python3.9/site-packages/tqdm/std.py", line 1282, in close
  File "/home/jasper/Applications/spotify-downloader/.venv/lib/python3.9/site-packages/tqdm/std.py", line 1467, in display
  File "/home/jasper/Applications/spotify-downloader/.venv/lib/python3.9/site-packages/tqdm/std.py", line 1138, in __repr__
  File "/home/jasper/Applications/spotify-downloader/spotdl/download/progressHandlers.py", line 23, in format_dict
  File "/home/jasper/Applications/spotify-downloader/.venv/lib/python3.9/site-packages/tqdm/std.py", line 1425, in format_dict
TypeError: cannot unpack non-iterable NoneType object

Any other information:

Try upgrading to he latest release from PyPi 3.2.1; I tried downloading the same song, no errors.

Try upgrading to he latest release from PyPi 3.2.1; I tried downloading the same song, no errors.

It looks like it's a bug in the yt music api library.
I reported it upstream, so this bug report can be closed.

It looks like it's a bug in the yt music api library.
I reported it upstream, so this bug report can be closed.


How to set the time zone of the X axis

https://jsfiddle.net/TradingView/bmL0vont/

How can I set the time zone of the X axis?
My local is the +8 time zone, but it shows the time in the 0 time zone.
time:<PHONE_NUMBER>  Should show  2019/05/03 18:00:00

Sorry, but we don't understand Chinese. Please use English.

@timocov hi, I have changed to English.

How can I set the time zone of the X axis?

https://github.com/tradingview/lightweight-charts/issues/125#issuecomment-511307557

And the x-axis time will show an exception on some browsers.

What the browser you have?

QQ browser

QQ browser :
console.log(new Date().toLocaleString()) => Tue Sep 24 2019 22:46:07 GMT+0800 (CST)
chrome browser:
console.log(new Date().toLocaleString()) => 2019/9/24 下午10:45:48

QQ browser && HUAWEI mobile phone browser:

Can you please try to set formatOptions like we use them here: https://github.com/tradingview/lightweight-charts/blob/b88c8b5844f0aeb171903c8afc784b9f30b49541/src/model/time-scale.ts#L649-L687
It's possible that this browser doesn't support them.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString#Browser_compatibility

hi, timocov. I don't know how to use this method, can you give me a list?

@timocov

chrome browser:
13:42
QQ browser && HUAWEI mobile phone browser:
Wed Sep 25 2019 13:42:09 GMT+0800 (CST)

@liubin595338764 these options are supported even by IE11. I think there is polyfill for that method so you can put it on your page for that browsers.

The options parameter of toLocaleString is still not supported by some browsers

According to the https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString#Browser_compatibility the options doesn't supported in Android WebView only, and I don't think that there is a lot of devices with that webview (afaik in the latest versions of Android (starting from Android 5 I guess) it uses Chrome WebView in common case). I don't why QQ browser doesn't support this parameter so far, but I said - you can try to put polyfills to your page to avoid this issue.

@timocov
About Date's polyfills only Date.now and Date.prototype.toISOString

QQ browser && HUAWEI mobile phone browser has a very large user volume in China

I don't argue with you, I don't understand why this browser doesn't support new standard yet. IE11 was released a long time ago and it supports options argument, the same about Safari 10. We've used some features from es2015 (like Set/Map) and we don't provide any polyfills. If you want to support old browsers or browsers which doesn't support some features, you need to use polyfills.

About Date's polyfills only Date.now and Date.prototype.toISOString;

What do you mean?

What do you mean?

Date's polyfills only Date.now and Date.prototype.toISOString;
I haven't found this toLocaleString polyfill. Can you help me?

Try to look at some intl.js polyfills - might be they help https://github.com/andyearnshaw/Intl.js

Intl.js solves the problem of HUAWEI mobile phone browser, but it does not solve the problem of QQ browser.

Is there any other way?

@liubin595338764 I cannot tell you for sure, but you can try to implement that polyfill yourself. As I said, it's really strange that QQ browser still doesn't support that method and I would suggest to ask developers why they don't implement it yet.

thank you so much

Hey @liubin595338764, in #386 we've added ability to override default formatter of tick marks, so you can override it to avoid using toLocaleString in your build. It'll be released in 3.0 version.

I think the problem is here.


fix ZipStrings.UseUnicode

use CodePage property instead of backing field so UseUnicode is set correct even if codePage is auto

I certify that I own, and have sufficient rights to contribute, all source code and related material intended to be compiled or integrated with the source code for the SharpZipLib open source product (the "Contribution"). My Contribution is licensed under the MIT License.

I don't think this does what you think it does. Could you explain the issue you are trying to solve?

ZipStrings.codePage is initialized with AutomaticCodePage(-1) and as the comment says it is intended to be good citizens and default to UTF-8.
So ZipStrings.CodePage.get returns Encoding.UTF8.CodePage.
But ZipStrings.UseUnicode.get returns false in this case which is not correct from my perspective.
Now ZipStrings.UseUnicode.get returns true in this case.

The issue was: We create simple ZIP files from a directory with all Zip entries using Deflate and AES. The name is just taken from the original (unzipped) files (passed as a .NET string).
Now unicode chars like ä, ö, ü, ß were not encoded correctly in all entry names (also shown by 7-zip). While debugging, we discovered that ZipStrings.UseUnicode was always returning false, which means unicode is not used at all.
As @theKBro states 2 things make no sense to us in the current implementaion:

ZipStrings.CodePage returns UTF8 but ZipStrings.UseUnicode returns false
The comment on the codePage field clearly says that the default should be UTF8, but eventually all our file names were encoded in IBM437.

The change in this PR makes encoding use UTF8 while decoding still uses the system's code page unless code page is set by flags, which makes sense to me.
Are we overlooking something?

@JCH2k sure! The whole ZipStrings class is utterly confusing and should be rewritten as a instanced object on the Input/Output streams instead, with better descriptions and naming.
But I think that would be a good start, and also removing (or maybe moving to the IsUnicodeText property?) the aforementioned comment that isn't actually true anymore.

Btw. could either you, or @MortenJoergensen supply a short snippet of how you used the ZipStrings.UseUnicode property? Since you both had the same idea of how it ought to be used, there's clearly a risk of it happening to others. It will give me a better idea of how to update the documentation as a short term solution.

I think the problem comes from not doing anything with ZipStrings.UseUnicode at all. I just did a simple new FastZip() (with some events as well), and then expected calling CreateZip to work out of the box (which it did, more or less). Debugging a little revealed that ZipStrings.UseUnicode returned false, and comparing the UseUnicode getter with the CodePage getter above it, made me conclude that it was supposed to default to using unicode, if not explicitly set. Doing a ZipString.UseUnicode = true works just fine. However, I agree with your comment about rewriting ZipStrings as an instanced object. If creating a FastZip object or calling CreateZip somehow forces the caller to consider which flags and properties to set, running with simple defaults becomes less likely - I don't know if going that far was part of your idea for rewriting.


feat: add bash completion

Setup information:

I cloned Jason's password-store repo and ran sudo make install
I cloned tadfisher's pass-otp and ran sudo make install

I used pass-otp as a guide.
This worked for me with the following steps:
$ cp pass-ln.bash /usr/local/lib/password-store/extensions/ln.bash
$ cp pass-ln.bash.completion /etc/bash_completion.d/pass-ln

After reloading my shell:
rylan@host:~$ pass
cp         find       git        help       insert     ls         otp        show       test/
edit       generate   grep       init       ln         mv         rm         version    test2/
rylan@host:~$ pass ln test
test/   test2/

Is there anything further you'd like done at this point?

@raxod502 - I just updated with what appears to be what's necessary to get the file installed properly.
NOTE: I haven't tested the build yet, hence the draft state of the PR still.
I'll run & debug the tarball and deb installation steps at some point today.
What I'm not able to test is the homebrew ruby template as I'm not a mac user and am not familiar with any of the syntax.
Is that something you'd be able to test?

I tested tarball & deb installation like so:
$ cd packaging
$ make tar
$ make deb
# this yielded an error due to the lack of a VERSION env var:
$ ./deb-install.bash
# so I emulated the step performed by the above script instead:
$ sudo apt reinstall "./out/<IP_ADDRESS>-g46fcb69/pass-extension-ln-2.0.1-4-g46fcb69.deb"
$ sudo systemctl reboot # on an lxc container so lazy approach
# see `ln` present
$ pass
cp         edit       find       generate   git        grep       help       init       insert     ln         ls         mv         rm         show       version    test/   test2/
# see folder/item autocomplete works
$ pass ln test
test/   test2/
# success!

Thank you! I will make any needed adjustments and merge in the next week or so.

This looks pretty good. To make future changes like this easier to test, I'm going to take a bit of time to set up some Dockerfiles that can be used to run the various distributions easily, so that installation can be tested without having to manually obtain or set up anything. Will merge after that is complete.

This is taking a bit longer than expected, but I continue to work on setting up an easy way to test the changes (see commits above). I will do more work next week.

Yeah of course, thanks for the support on the feature too!


MacBook Pro screen brightens automatically

Before opening the issue, have you...?

[X] Searched for existing issues
[X] Read through the Monitor-Troubleshooting Wiki
[X] Updated MonitorControl to the latest version (if applicable)

Describe the issue
MonitorControl brightness controls MacBook Pro screen, but it automatically gets brighter and too bright soon after.
Same problem occurs with the brightness control on the Touch Bar.
Expected behavior
Brightness of MacBook Pro screen stays at level I select.
Anything else?
I use f.lux, but cannot find "Avoid gamma table manipulation" under Preferences » Displays. F.lux is current version 41.4.
Environment Information (please complete the following information)
- macOS version: 11.6
- Mac model: MacBook Pro (13-inch 2020)
- MonitorControl version: 4.0.2
- Monitor(s): 2 ViewSonic VA2055Sm monitors
- Monitor Cable(s)/Connection(s): DVI  - USB 3.1 and VGA - StarTech MDP2VGA - 4K UHD - USB 3.1
- Apple Silicon/M1 (yes or no): no, Intel Core i7

Hi @artgoldberg
You brightness may be changing because of the system option "Automatically adjust brightness" that adjust brightness using the value from your macbook ambient light sensor.
You can disable this options following this guide https://support.apple.com/guide/mac-help/change-your-displays-brightness-mchlp2704/mac
Also, here's where the "Avoid gamma table manipulation" option is located in app settings.

Tell me if fixes you issue so I can close this.
Have a nice day.


PostgreSQL default not generated in SQL

From<EMAIL_ADDRESS>on March 01, 2013 19:59:44
I can define a default for a column via the GUI, but that default doesn't appear in the generated SQL for Postgres syntax (haven't tried others). What steps will reproduce the problem? 1. Create a table and define a default on a column. Attached is XML for a table with a column called 'stuff' that has a default of 42. Also see screenshot.
2. Generate Postgres SQL
What is the expected output?
CREATE TABLE "foo" (
"id"  SERIAL ,
"stuff" INTEGER NOT NULL DEFAULT 42,  /* <=== note DEFAULT */
PRIMARY KEY ("id")
);
What do you see instead?
CREATE TABLE "foo" (
"id"  SERIAL ,
"stuff" INTEGER NOT NULL , /* <=== note missing DEFAULT */
PRIMARY KEY ("id")
); What version of the product are you using? On what operating system? 2.7 Please provide any additional information below. Thanks for a great tool!
Attachment: Screen Shot 2013-03-01 at 1.53.57 PM.png
Original issue: http://code.google.com/p/wwwsqldesigner/issues/detail?id=170

From ondrej.zara on March 03, 2013 10:29:41
Status: Accepted

From<EMAIL_ADDRESS>on March 06, 2013 09:58:10
OK, here's patch that seems to work.
I don't know XSL, but I dove into db/postgresql/output.xsl anyway and came up with a one line change that "fixes" the problem. It removes a condition from an if statement, so it might break something, but it worked in my test. The patch is called maybe.patch to remind you that it may or may not be a good idea.
I can't figure out why the patch works since NULL doesn't seem to be an XPath keyword. If you feel like explaining it, I wouldn't mind the education. =)
Also attached is six_columns.xml which defines a six column table with three rows of int, text and bool (default == NULL) and three rows of int, text and bool with type-appropriate defaults. I used this to text my XSL change.
Attachment: six_columns.xml maybe.patch

From ondrej.zara on March 07, 2013 04:45:17
Thanks for the patch!
The postgresql datatype definition is a contributed code; I have basically zero experience with PostgreSQL myself.
I am not aware of NULL being some special value in XLST; your patch makes sense to me and I am going to commit it.

From ondrej.zara on March 07, 2013 04:47:28
This issue was closed by revision c8d373dc3642 .
Status: Fixed


[Introductions] Add etiquette for double opt-in introductions.

I noticed that in 9.md, your Great Introduction skips straight into the introduction. One of my biggest complaints about introductions I've received in the past is having the introductions not be double opt-in. I'd say currently that 9.md is a Good Introduction and that a Great Introduction would follow Fred Wilson's rule about double opt-in introductions:

When introducing two people who don't know each other, ask each of them to opt-in to the introduction before making it.

It works remarkably well, and I find that when you provide some private context for your reason for wanting to make the introduction, everyone starts off on better footing.

This is a very reasonable point, and I quietly assumed it had already happened in 9.md.
I'll explore spelling this out in more detail as well as including good and bad "request for introduction" scenarios.


dataset file-based cache uses excessively amount of memory

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock
example script provided in TensorFlow):
OS Platform and Distribution (e.g.,
Linux Ubuntu 16.04):
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if
the issue happens on mobile device:
TensorFlow installed from (source or
binary): - TensorFlow version (use command below):
Python version: - Bazel
version (if compiling from source):
GCC/Compiler version (if compiling from
source):
CUDA/cuDNN version: - GPU model and memory:

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with: 1. TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" 2. TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"
Describe the current behavior
file-based dataset cache increase excessively amount of memory.
Describe the expected behavior
Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
  dataset = dataset.interleave(filename_to_dataset, cycle_length=num_parallel_calls,
                               num_parallel_calls=num_parallel_reads)

  dataset = dataset.cache("cache")
  dataset = readers._maybe_shuffle_and_repeat(
      dataset, num_epochs, shuffle, shuffle_buffer_size, shuffle_seed)

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.

@burgerkingeater please let us know which version of tensorflow are you facing the issue.please update the template it helps us resolve the issue faster.

@burgerkingeater
please update on the above comment

@burgerkingeater
Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


settings: Fix emoji and buddy list style selectors for bigger fonts.

20px before this PR

with this PR
12px:

14px:

18px:

20px:

Merged, thanks @evykassirer!


Add package to conda-forge

We want to distribute scikit-multiflow via conda-forge.
conda-forge is a popular platform for distributing Python packages. It has a large user base and packages are automatically built for Linux, MacOS and Windows.
From their webiste:

The built distributions are uploaded to anaconda.org/conda-forge and can be installed with conda. For example, to install a conda-forge package into an existing conda environment:
   conda config --add channels conda-forge
   conda install <package-name>

scikit-multiflow is now available via conda!
To install it with conda:
$ conda install -c conda-forge scikit-multiflow

The package's page in conda-forge: scikit-multiflow


DevEnvironment missing permissions on Ubuntu

Sail Version: "^1.0.1"
Laravel Version: "^9.11"
PHP Version: 8.1.7
OS: Linux (Ubuntu)

Description:
Permissions aren't set correctly now within the devcontainer.
What I mean by "now" is that this wasn't happening before 2 previous versions or so... (not sure though)
Steps To Reproduce:
On Ubuntu directly and using VSC:

curl -s "https://laravel.build/example-app?devcontainer" | bash
code -r example-app
Remote-Containers: Reopen in Container from the command palette

Now you can't save any file via VSC and localhost will throw a permission exception.
Solution:
Setting permissions manually:
chown -R 1000:1000 /var/www/html

Update:
I kinda remember why it was working! I used to be on Windows before, and I used to set up Ubuntu's username to sail. 🤔

Same issue here.
I have a fresh install of PopOS 22.04.
Installed last version of Docker, and run instructions of official Laravel site to start a brand new Laravel app (version 9.1.10).
All the whole proccess run without issues.
But when I go to http://<IP_ADDRESS>/ the application respond with

The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened in append mode

Setting permissions locally with  chmod -R 775 storage solves the problem.

I would like to left my two cents of contribution.
I am using a fresh instalation of PopOS 22.04.
It is important to note that I don´t use root user to work when I am doing programming stuffs.
And in my attempts to start a project with Sail I don´t used any "sudo" command.
I tried all times start a brand new project with Laravel accordling the instructions "Getting Started On Linux" on Laravel website.
First I was trying with Docker Desktop, accordling with the intructions on Install Docker Desktop on Ubuntu. And I was getting problems similar to the ones described on this Issue and in #91, #149 and #435. Mostly because the files inside the container was being owned for the root user, when it is expected they were being owned for the "sail" user.
Then, I decided to try using Docker instaled in the regular way. I mean, installing Docker Engine first, setting Docker for use as a non root user, and installing Docker Compose as a plugin. This way the files inside container was configured to be owned by "sail" user. And then the problems were gone.
I don't understand what happened. But seems to me in my case was a problem specific with Docker Desktop.
Hope my insights help someone!

Heya, this seems specific to your use case as the vast majority of Sail users don't experience this issue. Right now, we aren't aware of any major issues around permissions with Sail. It also seems that you both found solutions to your issues. If there's anything we can clarify better in the docs we'd be more than happy to receive a PR there. Thanks!

I too have been having this issue on Ubuntu using docker desktop, removing desktop and using docker-engine fixed the issues immediately.
@driesvints this isn't the first issue I've seen on this topic, is it worth adding a mention in the documentation that some people experience issues when using sail on Ubuntu with Docker Desktop?

This should be solved with https://github.com/laravel/sail/pull/438 really.
@videlalvaro seems like there are still issues with this

@Joe1992w Did the command execute and you still had trouble afterwards?
https://user-images.githubusercontent.com/81492351/175264517-eaf1524c-0287-4811-a34f-b060d81d841a.png
Or are you suggesting that Docker Desktop on Ubuntu has a bug, and it prevents the default 1000:1000 permissions from taking place, and therefore the need for this workaround?

Came across this problem and have been trying to figure it out for the past 2 days. Should have looked here first. Seems like the only way for me to get this to work is by setting chown -R 1000:1000 /var/www/html. I even tried specifically adding WWWUSER and WWWGROUP in .env and no go.
Running ubuntu 22.04LTS. I tried every single docker configuration under the sun ... At least this workaround is functional for now. The problem only happens for Sail of course. Getting a barrage of permission errors since all the files in container are owned by root:root.

Came across this problem and have been trying to figure it out for the past 2 days. Should have looked here first. Seems like the only way for me to get this to work is by setting chown -R 1000:1000 /var/www/html. I even tried specifically adding WWWUSER and WWWGROUP in .env and no go.
Running ubuntu 22.04LTS. I tried every single docker configuration under the sun ... At least this workaround is functional for now. The problem only happens for Sail of course. Getting a barrage of permission errors since all the files in container are owned by root:root.
Edit: Nevermind, After going back and trying to edit code from ubunu host using phpstorm now I get a bunch of errors there. In ubuntu all my files have permissions set to 100999:100999. I have no clue how that happened since I ran the chown -R 1000:1000 command inside the container and now the permissions in the host are funked. Oh well, dropping docker desktop and going to go with regular docker I suppose, Could the issue be called by docker desktop on linux running in it's own VM?

Can confirm 100% that all issues go away when removing anything related to docker and then proceeding to download & install only docker engine with the docker compose plugin. No permission errors at all for any of my laravel / sail projects. I suppose the only downside is that now I have no GUI but otherwise all good. Gonna try to now install docker-desktop again and see if for some reason that works now.

Came across this problem and have been trying to figure it out for the past 2 days. Should have looked here first. Seems like the only way for me to get this to work is by setting chown -R 1000:1000 /var/www/html. I even tried specifically adding WWWUSER and WWWGROUP in .env and no go.
Running ubuntu 22.04LTS. I tried every single docker configuration under the sun ... At least this workaround is functional for now. The problem only happens for Sail of course. Getting a barrage of permission errors since all the files in container are owned by root:root.
Edit: Nevermind, After going back and trying to edit code from ubunu host using phpstorm now I get a bunch of errors there. In ubuntu all my files have permissions set to 100999:100999. I have no clue how that happened since I ran the chown -R 1000:1000 command inside the container and now the permissions in the host are funked. Oh well, dropping docker desktop and going to go with regular docker I suppose, Could the issue be called by docker desktop on linux running in it's own VM?

Can confirm 100% that all issues go away when removing anything related to docker and then proceeding to download & install only docker engine with the docker compose plugin. No permission errors at all for any of my laravel / sail projects. I suppose the only downside is that now I have no GUI but otherwise all good. Gonna try to now install docker-desktop again and see if for some reason that works now.

Docker Desktop works perfectly now, Anyhow I hope whoever comes across this issue can make use of it:
In short - Follow these steps when getting permission errors on Ubuntu 22.04 LTS (Should work for debian too if some unlucky soul comes across this obviously use the debian links of the referenced docs).

Remove anything to do with docker engine and docker desktop on linux

Remove docker engine: https://docs.docker.com/engine/install/linux-postinstall/
Remove docker-desktop stuffs: https://docs.docker.com/engine/install/linux-postinstall/

Install docker engine (This will also install docker compose so no need to do that also) (Repository Method) https://docs.docker.com/engine/install/ubuntu/
Setup docker engine to run as non root: https://docs.docker.com/engine/install/linux-postinstall/
Finally install docker desktop: https://docs.docker.com/desktop/install/ubuntu/

Why this works? No clue. but it's worked both times I've tried it. Any other way for me has resulted in issues with permissions. Maybe this is something we should post for the fellas over at docker-desktop for linux repo if anyone can duplicate this issue and "fix" on their machine.
Now please excuse me while I go ponder on why it is I do this every day and cry myself to sleep! Best of luck!

@miomech Since the workaround is merged into Laravel Sail, did you make sure it's removed from the devcontainer.json file every time you ran a new test?

Correct, I use php storm from the host ubuntu OS, So no I wasn't even loading the devcontainer.
All items I put above are in reference to me trying to get this setup to work. Once I figured it out for the host thought I didn't have any problems on the devcontainer.

@vlamirc with all due respect, may i know why you always close unresolved issue? this issue occurred on Ubuntu, PopOS and Fedora, please let any unresolved issue like this visible to others who visit "issues" section by not closing them.
Thank you.

With all due respect, it was not me that closed the Issue.
Em qua., 24 de ago. de 2022 às 10:02, Tony Song @.***>
escreveu:

@vlamirc https://github.com/vlamirc with all due respect, may i know
why you always close unresolved issue? this issue occurred on Ubuntu, PopOS
and Fedora, please let any unresolved issue like this visible to others who
visit "issues" section by not closing them.
Thank you.
—
Reply to this email directly, view it on GitHub
https://github.com/laravel/sail/issues/435#issuecomment-1225770417, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAD6QG35WC6RQUB3VICNW23V2YTPPANCNFSM5Y5RNNQA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Edit: Nevermind, After going back and trying to edit code from ubunu host using phpstorm now I get a bunch of errors there. In ubuntu all my files have permissions set to 100999:100999. I have no clue how that happened since I ran the chown -R 1000:1000 command inside the container and now the permissions in the host are funked. Oh well, dropping docker desktop and going to go with regular docker I suppose, Could the issue be called by docker desktop on linux running in it's own VM?

@miomech This sounds like you might have been running Docker in rootless mode. Maybe the reinstall dropped the configuration for that. Could that have been the case?


Cannot log into MHW.

Cannot log into MHW.
MHW recognizes the Ledger Nano X and connects.
Public keys match.
When I input my account number into MHW, click "Continue," and confirm on the Nano X, MHW just resets the "Continue" button instead of proceeding to my usual account page.
This happened before and after I refreshed the web page, updated and reloaded Chrome, updated the Hedera app on the Nano X, and updated the firmware on the Nano X.

Hello,
If you are on a Mac, restarting your computer and clearing the NVRAM (google) can sometimes fix connection issues for Chrome 91.


Fix 589 - extend xhr parsing and email cache

Content of this pull request :

Fix issue #589 with a parsing of embedded JSON data (see more details below)
Extend XHR parsing data with a parsing of /bv request
Extend email cache : update cache and not only append new email in cache
Refactoring function name (parse_fd_email2, parse_fd_email)

Changes :
Fix issue #589
-------------------

Important : content-script which launch injected script must be configured with "run_at": "document_start"
It's recommand to split injected script to have only gmail.js to load in first because size of injected script impact the loadind time.
Gmail.js must be injected and loaded before Gmail load embedded data.

api.tools.embedded_data_watcher override Gmail JS function "_GM_setData"
There is 2 different parsing (like XHR) : parse_fd_embedded_json and parse_bv_embedded_json

Extend XHR parsing data with a parsing of /bv request
------------------------------------------------------------------------

Like /fd request parsing, implement of /bv request parsing.

Extend email cache : update cache and not only append new email in cache
-----------------------------------------------------------------------------------------------------

Update function api.tools.cache_email_data

More details :
In Gmail, there are 2 methods to load thread and email data.
1) embedded data
2) XHR
When you load Gmail UI with default URL (like https://mail.google.com or https://mail.google.com) the default view displayed
is the inbox view, in this case, sequence is STEP 1 and STEP 2A
If you load Gmail UI with personnalized URL (like https://mail.google.com/mail/u/0/#sent), the wiew display depend on the URL.
in this case, sequence is STEP 1 and STEP 2B.
STEP 1 :
This step is mandatory because it's automatic when loading Gmail UI.
Thread and email data for INBOX (BUT NOT ONLY these datas) can partially be read in JSON embedded data from text/html content request.
IT IS NOT an XHR...
First Http request is on https://mail.google.com/mail/u/0/, the response is a document text/html.
In the body of HTML content, we can find an iframe.
Example :

When iframe is loaded, the document is text/html and contain javascript function and JSON embedded data
Example :

Hey there.
I’d just like to acknowledge that I’ve seen this PR, and skimmed the description.
As a maintainer, it looks like one of the better PRs I’ve seen, and it’s really appreciated! Absolutely solid work.
That said, I’m kinda short on time right now, and due to the fundamental nature of these changes, I’d like to review and test them thoroughly before I merge. I hope that’s understandable.
So please accept a little delay before getting feedback. It should hopefully be less than a week.

No problem, take your time ;)

OK, so I haven't actually gone over the code yet, but I've tested these changes in the context of the boilerplate-project. From what I can tell it works really well!
One thing I notice is that some of these new emails seems to lack the legacy ID property:

Did you notice that too? I don't really think is going to be problem, smtp_id is the important one IMO, but just an observation.
Also in the context of the boilerplate project, I wasn't able to reproduce any difference based on document_start vs document_end, but I'll take your word for it. It sounds timing-sensitive after all.
Now that I know that it works as it should, I'll try to get a look at the actual code as soon as possible and then get this merged :+1:

One thing I notice is that some of these new emails seems to lack the legacy ID property:

Did you notice that too? I don't really think is going to be problem, smtp_id is the important one IMO, but just an observation.

No it's an oversight because I don't use this data legacy_email_id.

However i found a bug du to my code (on smtp_id for example).
// only append email to cache if not already there.
if (thread.emails.filter(i => i.id === email.id).length === 0) {
    //console.log("push",email);
    thread.emails.push(email);
}
else
{
    let index = thread.emails.findIndex(i => i.id === email.id);
    //console.log("before:",thread.emails[index]);
    thread.emails[index] = email;
    //console.log("after:",thread.emails[index]);
}

There are less datas to read and store in bv request than in fd request.
If bv request is execute before and fd request after (classic case) it's good to update cache  because datas read on fd request are more detailled.
But I found a case where a bv request is execute after fd request, cache is updated and  it's bad because there is a data lost.
The fix is simple, I think that email cache must be update only with detailled data from fd model data (xhr or embedded json). I think to make a patch this week end or monday.

I suddenly realized I really need this, so this is really great. 👍

But I found a case where a bv request is execute after fd request, cache is updated and  it's bad because there is a data lost.

I guess ideally we should have a merge-algorithm of sorts when a cache needs to get updated?
To ensure we always end up with the richest data possible, no matter the loading order.

I think to make a patch this week end or monday.

No rush. Take your time. 🙂

I guess ideally we should have a merge-algorithm of sorts when a cache needs to get updated?
To ensure we always end up with the richest data possible, no matter the loading order.

Yes you right.
From what i saw, there is never less data in fd request compared  to bv request, so i thing algorithm is simple, we have just to update full data or not.

Hey
I push a patch to update email data cache depending on data source.

One thing I see missing, which I would love to see to prevent regressions and future errors, is some test-data and test-cases for the new parser-functions.
While not super-great and not super-detailed, we do have some test-cases for the existing parsing code in test.parsing.js and testdata-parser.js. Could you add some test-cases for the new code in there?

One thing I see missing, which I would love to see to prevent regressions and future errors, is some test-data and test-cases for the new parser-functions.
While not super-great and not super-detailed, we do have some test-cases for the existing parsing code in test.parsing.js and testdata-parser.js. Could you add some test-cases for the new code in there?

I haven't really looked and I missed these tests.
ok to add test-case for new parsers in few days.

I haven't really looked and I missed these tests. ok to add test-case for new parsers in few days.

Sounds good. Looking forward to it!

For information on master branch one test failed :
_New Gmail event-triggering
Gmail.js encountered an error trying to parse sent message! TypeError: Cannot read property '7' of undefined

You did well to tell me to add test because actual test don't passe because of my code.

Also in the context of the boilerplate project, I wasn't able to reproduce any difference based on document_start vs document_end, but I'll take your word for it. It sounds timing-sensitive after all.

After testing this version on my production extension, I can indeed confirm this being required.
Turns out the boilerplate project is too small/fast (on my machine at least) to cause issues w.r.t. intercepting data, but for my much larger production extension I needed to split out gmailJs into its own bundle and load that early, to ensure things work 100%.
That's kinda a breaking change, in that people might be required to also update their extensions when updating to this latest version.
And as such... I'm planning on making the next release the long awaited 1.0 release! :tada:
And it couldn't have happened without your help. Thanks for staying in there with this great PR :smiley:

That's kinda a breaking change, in that people might be required to also update their extensions when updating to this latest version.

I'm not completely sure that's a a breaking change.
If you don't change anything in your extension, everything continue to be fine with new code in this PR. But if you want to exploit 100% of API features (including the fix #589), you have to update your extension with taking account of requirements.

I'm not completely sure that's a a breaking change. If you don't change anything in your extension, everything continue to be fine with new code in this PR.

Fair enough. Anyway, making this a major version upgrade should signal to people that they can't upgrade blindly, so I still think bumping the version to 1.0 is the right thing to do.

Any news here? Need any help getting the tests working?
Feel free to push a (broken) test-commit, and maybe I can help diagnose what's going wrong?

I just pushed changes with test case.
With test, I found and fxed 2 bugs with fd_embedded_json (content_html and attachment) 😀
Test case could be more detailled, I don't understad why but I have a problem with assert equal on html content

That looks very nice indeed. Thanks for taking the time!
I'll take a deeper look at it tomorrow, and see if I can help out with the HTML test-cases. If we're lucky, it's something simple and easy to fix. :+1:

Looking at the failing tests, it seems to be to be very specific for the emails under test.
From what I can tell all the failures are related to unicode-technicalities (composed vs non-composed apostrophes) and significant vs insignificant unicode-whitespace. Things which are easy to get wrong in almost any case.
Seeing as the HTML to be parsed properly apart from that, I did what you according to TDD should never do: reverse-engineered the test based on the test-data using JSON.stringify(content_html).
This escaped the troublesome content and made all tests pass, and should at the same time provide us with protection against regressions in the future.
You can find the diff for the this change attached here: html_fix.patch.txt
With that landed, I think we are getting pretty close to finally getting this merged! :smiley:

Thanks for your help.
I push fix.

Tested the final code on two extensions, and it's looking great! :smiley:
Thanks for this great patch. This will no doubt make Gmail.JS a better library for everyone, with less needs for workaround, and hopefully better compatibility with future Gmail versions when Google eventually completely turns off the old data-API we've been using in the past.
If you have any other contributions you want to make in the future, they are very much welcome!
And again: It's really been a long ride. Thanks for hanging out in there. Not everyone would :sunglasses:
With that said: Consider it merged!


Add Deploy to Bluemix button to documentation

We have already added the Deploy to Bluemix button to the REAME, I am just adding the same button to the CF section of the documentation as well.
@codydaig

Please add the .bluemix folder to gitignore as well.

@ilanbiala I think that the .bluemix folder is required.

Oh yeah upon looking at the file it's config and not like a cache or something, never mind.

LGTM

Yes it is required
-Ryan

On Sep 1, 2015, at 6:48 PM, Ilan Biala<EMAIL_ADDRESS>wrote:
Oh yeah upon looking at the file it's config and not like a cache or something, never mind.
—
Reply to this email directly or view it on GitHub.

@ilanbiala yours to merge...

@lirantal tossing into 0.4.1 because it hasn't been released yet.

Great, thanks!


assert_invariant() now terminates the program in failure

rename logAndPanic to panicLog, since it doesn't actually panics.

Why is it called panicLog if doesn't actually panic? Typically the word "panic" is reserved for unrecoverable errors.

here "panic" is more like a prefix for the panic stuff. it mimics a macro called PANIC_LOG (as opposed to PANIC_ASSERT).

The assert_invariant macro clashes with e.g. nlohmann::json (https://github.com/nlohmann/json), which has that as a member function on some of its objects. Might be better to give it an explicit filament prefix (filament_assert_invariant) and perhaps also capitalise it to make clear that it is a macro.


Optimization dem

Description of the problem

Some parts of the DEM were not correctly optimized. The force calculation notably was "refetching" information about particle_one of the contact when this could have been kept constant.

Description of the solution

Fixed this
Improved Verlet integrator also
Fixed some typos

Overall, the code is about 10% faster now on some of the benchmark I ran.
How Has This Been Tested?

All regular tests passed except two which were very slightly changed. These tests are always fragile so it's not alarming, one particle change very very slightly. That's because of the order of operation

Comments

I will keep on working to make this a bit more optimal.

Just a few comments. I think you forgot to modify some code for the ghost loops in force related .cc files. You know my opinion about having the same loop for local and ghost, I think the loop should be moved in a function, I could do it in refactor PR.

One thing I am a bit wary about making it into a function is the performance overhead. Glad to look into it in another PR though :).

All you comments have been addressed @acdaigneault . thanks for the very good review :)!


ID child support formula FYI:
User feedback: language
(support_formula_fyi)

Question ID
child support formula FYI

Details
Change language to:

If you have not done so already, use the MiChildSupport Calculator now to calculate child support based on the Michigan Child Support Formula. [entire preceding sentence in bold] [link to Calculator: https://micase.state.mi.us/calculatorapp/public/welcome/load.html] You will see the child support numbers at the end of the calculation on the results page.
If you are asking for the Support Formula amounts in your motion, you will need the Calculator results page to answer the questions in this tool. If you are asking for different amounts, you will still need the Calculator results page to complete the Uniform Child Support Order Deviation Addendum that you will download at the end of this tool.
[New help text question:] Why do I need to calculate child support using the MIChildSupport Calculator?
[Answer:]
The court must order child support according to the Michigan Child Support Formula, unless the court finds the result would be unfair or inappropriate. This is true even if the parties agree to an amount that differs from the Support Formula amount.
Variable being sought | support_formula_fyi
Package version | 0.0.5
Filename | docassemble.MLHMotionRegardingChildSupport:data/questions/motion_regarding_child_support.yml

Just to clarify, this new language should replace the old language for both a request to change support and a request to establish support.

That page is used for both flows, so the change should work for the request to establish as well.


Webserver hangs

I'm using this sample code:
    ob_start();

... bunch of PHP code & HTML

    $html = ob_get_clean();
    use mikehaertl\wkhtmlto\Pdf;

    // You can pass a filename, a HTML string or an URL to the constructor
    $pdf = new Pdf($html);
    $pdf->binary = '/usr/local/bin/wkhtmltopdf';

    if (!$pdf->saveAs('../../../../private/contest/tmp/' . $entryNum . '.pdf')) {
        echo $pdf->getError();
    }

I know the HTML is good as I've run it through various validation tools.
My Apache webserver appears to hang (in FF the browser tab shows it's waiting for a response) and no .pdf file is generated, and no errors appear in the PHP log file.
My composer.json:
{
    "require": {
        "monolog/monolog": "^1.23",
        "phpfastcache/phpfastcache": "^6.1",
        "phpmailer/phpmailer": "^6.0",
        "dompdf/dompdf": "^0.8.2",
        "mpdf/mpdf": "^7.0",
        "knplabs/knp-snappy": "^1.0",
        "mikehaertl/phpwkhtmltopdf": "^2.3"
    },
    "config": {
        "platform": {
            "php": "5.6.32"
        }
    }
}

I'm running PHP v5.6.32 on MAMP.
EDIT
The hang seems to have been caused by the ob_get_clean() call being inside the <body> of the html, hence it never got the closing tags </body></html>. Fixing that resolved the hang. However, I still see my images are missing even though I've got absolute paths to them on our hosted site, which render fine when I copy-and-paste the path to a browser. Also, the resulting pdf page is postage-stamp sized with the no-print part included.

Sorry, I can't help you with this. This is not a support forum but for reporting bugs. The library is based on wkhtmltopdf so you may have to invest some research time to figure out, how to use it. It only wraps wkhtmltopdf calls in a PHP class.

I had the same problem, but i resolve adding the option:
$options = [
   //others options,
   'commandOptions' => array(
            'useExec' => true, // <- this resolve in my case
    )
];


Test with .NET 4.7.1 Causing MissingMethodException on TestHost CreateClient

Description

When trying to create test that using TestServer and CreateClient, there is an exception MissingMethodException on .NET Framework 4.7.1. On .NET 4.6.2 all is working correctly.

Steps to reproduce

Create MS UnitTest for .NET Core with target .NET 4.7.1 and add reference to Microsoft.AspNetCore.TestHost. Then in test method create:

        [TestMethod]
        public void TestMethod1()
        {

            var server = new TestServer(
                new WebHostBuilder()
                    .UseStartup<Startup>());

            var client = server.CreateClient();

        }

This method won't run. It will cause MissingMethodException. I've created test project.
WebApplication2.zip

Expected behavior

Method should run.

Actual behavior

This method won't run. It will cause MissingMethodException.

Environment

.NET 4.7.1
Windows 10
Visual Studio 15.5.2

@msmolka , I analyzed this issue, & it seems that appropriate binding redirects are not generated for the UnitTest project, even though it has set GenerateBindingRedirectsOutputType,  & AutoGenerateBindingRedirects  to "true"
/cc @eerhardt  , @nguerrera, can you please help us investigate this.
In the attached project(see bug description), if you change both UnitTest , & WebApplication to net462, it generated appropriate binding redirects for Unit Test project, & test run fine.

I repro'd this myself with VS 15.6 Preview 3.  It appears to be a bug with the sdk (or targeting pack) that is supposed to be adding these binding redirects for net471.  System.Net.Http.dll is getting locally bin placed, but no binding redirects are being added.
Talking with @weshaggard and @ericstj, it appears that netfx.force.conflicts.dll is not getting referenced on net471, and thus the binding redirects aren't making their way into the app config by default.
Adding the binding redirect manually fixes the issue:
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

We should open a bug on dotnet/sdk for this scenario if one doesn't already exist.  A fix needs to go in there.
/cc @joperezr @AlexGhiondea

yup, this is fixed with the new targeting pack that will now include netfx.force.conflicts on 4.7.1 as well. This new targeting pack was already inserted to the CLI, and in theory it is supposed to make it to VS 15.6 RTM since that CLI is in theory going to be inserted into VS. @livarcocc do you know if that CLI has already been inserted into VS? which preview of VS 15.6 should we expect the fix to be in?

@joperezr , can you provide me link to dotnet bug where this got fixed? Also can you share the preview version of dotnet sdk, which @msmolka can you use to unblock?

Sure, this is the PR that inserted the package with the fix into the CLI https://github.com/dotnet/cli/pull/8249 and this is the actual PR that fixed that package https://github.com/dotnet/corefx/pull/25786.
@livarcocc should be able to point us to a CLI that will contain the fix.

@msmolka , the issue was on dotnet sdk end, which they have fixed. Please move to latest preview, & you should not hit this issue any more.
I'm closing this now, please reopen it if it does not get resolved in latest dotnet sdk


Add retrying capability

Add three new Request methods:

WithRetry(maxRetry int)
WithRetryDelay(minDelay, maxDelay time.Duration)
WithRetryPolicy(RetryNetworkErrors|RetryNetworkAndServerErrors|RetryAnyErrors)

WithRetry enabled retrying. If it's not called, test fails after first round trip failure. If it's called, test will try up to maxRetry times and only then fail.
WithRetryDelay controls pauses between retries. If it's not called, default pause is 1 second. If it's called, pause starts from minDelay and grows exponentially until it reaches maxDelay or we're out of retries.
WithRetryPolicy controls what to retry. If it's not called, default policy is RetryNetworkAndServerErrors, i.e. retry temporary network errors and temporary server errors (5xx). RetryNetworkErrors means retry only temporary network errors. RetryAnyErrors means retry absolutely all errors.
Previous attempt was here: #73. In particular, see https://github.com/gavv/httpexpect/pull/73#discussion_r434367446
We should also add documentation comments for new methods, cover them with tests (ideally both unit and e2e, but at least e2e), and add a new section to quick start in README.

Hello, can I give it a try?

Hello, can I give it a try?

Hey,
taking a look at your review of the previous attempt I saw the reference to the retryablehttp lib.
I poked around and it turns out they introduced the ability to get their client wrapped as a standard http.Client.
Combining that with httpexpect ability to set client on a per Request or Expect instance basis there is no need to change httpexpect .
Here is a minimal example which would suffice for a lot of cases in my opinion, given that their defaults seem sensible:
package main

import (
	"net/http"
	"net/http/httptest"
	"testing"

	"github.com/gavv/httpexpect/v2"
	rhttp "github.com/hashicorp/go-retryablehttp"
)

func TestRetry(t *testing.T) {
	fail := true
	handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		if fail {
			fail = false
			http.Error(w, "Try again!!", 500)
		}
	})
	server := httptest.NewServer(handler)
	defer server.Close()

	e := httpexpect.New(t, server.URL)
	e.GET("/").WithClient(rhttp.NewClient().StandardClient()).
		Expect().
		Status(http.StatusOK)
}

It's your call obviously, but talking as a user I see no reason to add code to support this "natively".
It would either add a nontrivial implementation or a dependency, each with it's own problems, plus even if retryablehttp
is used we'd either limit configuration to provide a simple api, or just wrap theirs with the same complexity without actually making it easier for an httpexpect user to configure a non-default retry policy.
What do you think?
Either way I'd be happy to contribute.

@bmihaylov thanks, good insight!
Since httpexpect already hides HTTP client from you by default, and since this library is mostly a convenient wrapper (on top of net.http and a few other libs), I think it may make sense to provide out of the box retry support with a few simple retry policies. If you're happy with them, you can use it; in a more complicated use case, you can inject custom http client.

Done.
Commit: d0e64a7daa8969b697cc5c02589d9b5965b2aec5
Example: https://github.com/gavv/httpexpect#retry-support


Can I use react-native-router-flux when I write an app with Apollo Client +React Native +apollo-link-state + Relay?

I want to write an app with  Apollo Client +React Native +apollo-link-state + Relay,Can I usereact-native-router-flux together?

Yes


_metadata_to_df should be replaced with call to get numeric columns from Metadata

This method will be added for the 2017.7 release - method name is still TBD.

@gregcaporaso it doesn't look like MetadataCategory has an equivalent call to cast to numeric. _metadata_to_df is currently written to handle either Metadata or MetadataCategory — any suggestions or should I just keep the current function?
I see that there is a new method for Metadata.filter() to get numeric columns, but is this something that we need/want to use here?

Looks like the function _metadata_to_df no longer exists. Closing this issue.


url_launcher: 5.4.1 crashes the app on calling launch()

Steps to Reproduce(only occurs on iOS, thing works fine on Android)
  launchURL() async {
    final url = 'https://www.google.com';
    await launch(url, forceSafariVC: true);
  }

error msg:
Lost connection to device.
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff23c7127e __exceptionPreprocess + 350
	1   libobjc.A.dylib                     0x00007fff513fbb20 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff23c710bc +[NSException raise:format:] + 188
	3   SafariServices                      0x00007fff2b656b30 -[SFSafariViewController initWithURL:configuration:] + 105
	4   SafariServices                      0x00007fff2b6570c7 -[SFSafariViewController initWithURL:] + 83
	5   url_launcher                        0x0000000112c2cd2b -[FLTURLLaunchSession initWithUrl:withFlutterResult:] + 267
	6   url_launcher                        0x0000000112c2df32 -[FLTURLLauncherPlugin launchURLInVC:result:] + 178
	7   url_launcher                        0x0000000112c2d69d -[FLTURLLauncherPlugin handleM<…>

[✓] Flutter (Channel master, v1.13.10-pre.65, on Mac OS X 10.15.2 19C57, locale en-US)
    • Flutter version 1.13.10-pre.65 at /Users/george/Development/flutter
    • Framework revision 5d37de2685 (9 days ago), 2020-01-15 01:23:02 -0500
    • Engine revision bc41ab5139
    • Dart version 2.8.0 (build 2.8.0-dev.1.0 fe666ce592)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/george/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.3.1, Build version 11C504
    • CocoaPods version 1.8.4

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 41.1.2
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[!] IntelliJ IDEA Community Edition (version 2019.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.dev/intellij-setup/#installing-the-plugins

[✓] VS Code (version 1.41.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.7.1

[✓] Connected device (1 available)
    • iPhone 11 Pro Max • F9785E59-D7AF-46C8-8D2F-06C4A5796B60 • ios •
      com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)

Solved by changing
final url = 'https://www.google.com';
to
final url = Uri.encodeFull('https://www.google.com');

This solved the problem for me too. Thanks!