Property :rtype: is redundant

Looking at the output, it seems that properties have redundant types. In the test suite, a_property is an example. Defined like:
@property
def a_property(self) -> str:
    """
    Property docstring
    """

The test suite asserts that the type of the property is included in two places. This strikes me as redundant and slightly confusing: does a property really "return" a value? In my opinion, the abstraction makes it look like we are "accessing" the value rather than returning it. To be specific, I want the following change in the output.
     property a_property: str

        Property docstring

-       Return type:
-          "str"
-

I applied the following patch to do this:
--- a/src/sphinx_autodoc_typehints/__init__.py
+++ b/src/sphinx_autodoc_typehints/__init__.py
@@ -611,7 +611,7 @@ def _inject_types_to_docstring(

                 lines.insert(insert_index, type_annotation)

-    if "return" in type_hints and not inspect.isclass(original_obj):
+    if "return" in type_hints and not inspect.isclass(original_obj) and not inspect.isdatadescriptor(original_obj):
         if what == "method" and name.endswith(".__init__"):  # avoid adding a return type for data class __init__
             return
         formatted_annotation = format_annotation(type_hints["return"], app.config)

Do people prefer the current behavior? If some people want the redundant property types, could we add a config option to opt out of it?

Which of these two is used by sphinx?

Both appear in rendered sphinx. I'll post a screenshot when I get to a computer.

The rst looks like:
   .. py:property:: FetchResponse.status_text
      :module: pyodide.http
      :type: str

      Response status text

	  :rtype: str

Which is rendered as:
property status_text: str <-- from :type: str

    Response status text

    Return type: str <-- from :rtype: str

I think it looks better with :rtype: str removed and only :type: str included.
With both:

With just the :type: str:

Yeah let's remove the return type here, PR welcome.

Great, will do.


Update Next 13 app dir usage to use new metadata API

Next has deprecated the head.{js,tsx}} module in favour of a new metadata export API (https://beta.nextjs.org/docs/api-reference/metadata), the current next-sanity instructions refer to using head.tsx.

Using the studio with the recent v13.2 causes the studio to crash. Any ETA on the implementation of the new metadata API?

Yes I did find one today actually.

Remove the head.tsx file
Create a layout.tsx file
Insert the following

import type {PropsWithChildren} from "react";
import type {Metadata} from "next";

/**
 * Temporary workaround for setting metadata for the Studio.
 * implemented necessary data according to the following source code: https://github.com/sanity-io/next-sanity/blob/main/src/studio/head/NextStudioHead.tsx
 * @todo remove this workaround when the issue is fixed
 * @see https://github.com/sanity-io/next-sanity/issues/333
 */
export const metadata: Metadata = {
  title: 'Studio | EGGS Wiki',
  viewport: 'width=device-width,initial-scale=1,viewport-fit=cover',
  robots: 'noindex',
}

export default function StudioLayout({ children }: PropsWithChildren) {
  return children;
}

You won't get some things that are listed in the original head.tsx but you will get the most important things.

My issue was unrelated, the "crash" I experienced was an application error:
There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering.

After a lot of debugging I realised I missed the important
swcMinify: false,

in my next config.
All working! Thank you.
Hopefully this helps someone on the way.


Question Description not showing when 'questionTitleLocation' is set to 'left'

Are you requesting a feature, reporting a bug or ask a question?
Bug
What is the current behavior?
Question description is not showing when questionTitleLocation is set to left
What is the expected behavior?
That the description is showed as it is on the online editor
How would you reproduce the current behavior (if this is a bug)?
See url
Provide the test code and the tested page URL (if applicable)
Tested page URL: https://surveyjs-angular5-example-gh771-gkh98b.stackblitz.io
Test code
{
  "pages":[
    {
      "name":"page1",
      "questionTitleLocation":"left",
      "elements":[
        {
          "type":"panel",
          "name":"questionPanel1",
          "title":"Panel Title",
          "elements":[
            {
              "type":"rating",
              "name":"question1",
              "title":"Q1 Ttile",
              "description":"Q1 Description",
              "isRequired":true,
              "rateValues":[
                {
                  "value":1,
                  "text":"True"
                },
                {
                  "value":0,
                  "text":"False"
                }
              ]
            }
          ]
        },
        {
          "type":"radiogroup",
          "choices":[
            "item1",
            "item2"
          ],
          "colCount":"0",
          "description":"radiogroup Description",
          "name":"question1"
        }
      ]
    }
  ]
}

Specify your

browser: Chrome
browser version: 62.0.3202.94
surveyjs platform (angular or react or jquery or knockout or vue): angular
surveyjs version: 0.96.1

Thaks, I will fix it. The bug is only in react, jquery and angular

fix will available in the next release, I hope it will be today

Awesome !

Verified working :)


Download Minecraft world

As a teacher, I want to be able to have the option of downloading a generated Minecraft world, in order to play the game with it and/or make changes to it

Temporarily on-hold until we have Upload World OR Fetch from Kartverket working


[gardening] Use consistent headers. Use consistent end of namespace comments.

@swift-ci please smoke test and merge

@swift-ci please test and merge


Developers page updates

Now default to having a white background placeholder which fixes the
moving asynch load of gravatars
Adjusted the sizing of images on smaller screens

addresses #347

looks like this failed due to a timeout... can someone else confirm this is just a travis issue? The code seems like it is fine

yea this is a travis issue. The one worked and the other did not. Trying to find a way to rerun the checks

Any opposition to me merging this?

@agundy It looks good, but you should drop the resolution of the gravitars as well

Also, I think 1 developer (full width, or with a small margin) looks better than 2 side by side on a small screen

I changed that because 1 developer means that you have to scroll through 50 to get to the next page. And the avatars are huge.

2 side by side just looks odd, though.  Maybe try 3? or make sure there is some sort of margin

I'll revisit it

Updated!


Please add me to your website - thank you.

{
"user": "acctimize",
"profile": "https://acctimize.com/",
"symbol": "@acctimize",
"name": "Acctimize",
"photo": "https://res.cloudinary.com/analogyofpearl/image/upload/v1676034585/Acctimize/images/logo_acctimize_graphic_only.png",
"display":"acctimize",
"body":[
{"id":"1","Acctimize.com":"Link_1","url":"https://acctimize.com/"}
]
}

This project has to be forked to work. I don't have any options for any hosting services for this project (yet). Unfortunately this is a demo and I don't take requests to change that part of the project.
Looking at your setup, the symbol should be just @. The symbol is just of you would like to remove it or use something different
Feel free to fork it and host it, If you need more help: https://github.com/Benja-media/Ulink#geting-started


Update docs to reflect revised guidance to check in locks for gems

Thanks so much for the contribution!
To make reviewing this PR a bit easier, please fill out answers to the following questions.
What was the end-user problem that led to this PR?
The problem was...

Bundler stopped gitignoring gem locks. The change was merged in but we need to reflect that change in documentation.

What was your diagnosis of the problem?
My diagnosis was...

To add in documentation explaining why Bunder now does not gitignore gem locks.

What is your fix for the problem, implemented in this PR?
My fix...

Update the gemfile.lock section of bundle install man pages as well as the gemfile man page.

Why did you choose this fix out of the possible options?
I chose this fix because...

This addresses open issue https://github.com/bundler/bundler/issues/5879

@bundlerbot r+


Purge diaspora-jsxc package

I am working for the Diaspora* project and I was wondering whether
there is a possibility to remove obsolete packages from rails-assets.org?
We have currently two packages diaspora_jsxc and diaspora-jsxc.
Could you remove diaspora-jsxc from your database?
Cheers

Hey!
What about developers that use those two gems? Are you sure you want to delete them?
Maybe warning or something on installation would be enough?
Adam

We are using diaspora_jsxc only. Do not delete diaspora_jsxc!!
diaspora-jsxc is obsolete and can be removed safely

I mean that maybe some other people are using diaspora-jsxc.
It would be rude to delete this package :)

Well,I am pretty sure that no one is using that cause I started the diaspora/jsxc integration and the package was used by the diaspora development version only.
The only possibility is that someone uses a very old dev-version and that is a risk I am willing to accept :)
In the end it doesn't matter, thought. We can also keep the package, no problem with that.

I think I'll be rolling out UI for removing packages. Let's leave diaspora-jsxc for now, ok?

sure. Could be a nice feature. Removing pkg based on usage statistics or something.


Export pack of FIT track direct to SASplanet MarkDB

SAS planet use SQLite for storing marks. But can't import FIT.
Create SAS Mark DB as output and more features to decoration track (random color,..) on import.


language

possible to add support for english language?

I would try，thank for your supposed

plz add language.


POSSIBLE HOTFIX: Serious discovery shortcomings "discovered" and addressed.

There are three major bugs fixed by this PR:

Currently Composite Resources with no logical files are associated with no content types at all in discovery. If you search by content type they do not appear at all. This fix makes them all appear as "Generic Data". More than 1000 resources containing .csv files are affected.
Malformed start and end dates formerly crashed ingestion and caused the resource not to appear in discovery. Now malformed dates are simply ignored and the resource remains discoverable, but those dates remain blank and unsearchable.
Debugging shows that the SOLR command rebuild_index does not work properly for a SOLR stack of our large size. The management command solr_update fixes any initial problems in rebuild_index and prints what it does. It is idempotent and can be run at any time to insure that SOLR synchronizes with Django.  Due to bugs in rebuild_index, solr_update must be run after each rebuild.

@sblack-usu @cuahsimarko @martinseul @dtarb This has a profound effect upon discovery and I propose as a hotfix. Currently more than 1800 resources are not added to SOLR when rebuilding.

Pull Request Checklist:

[ ] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

Create a resource containing only a .csv. Now this does not have a content type. After the change, it is discoverable via content type "Generic Data".
Create a resource with a malformed start date. Discovery should not locate that resource by date, but it will still appear in discovery with no start date.
Run management command solr_update and check output. Run it again and it should do nothing. This means SOLR is synchronized with Django. Check that number of resources reported in solr_update matches the number of discovered resources with no search parameters specified.  The number reported in the discover UI is a little smaller because it does not include resources with multiple versions.

I found a bug in ingestion that crashed on malformed dates. Still looking for why there are so many files in Django that aren't in SOLR.

@alvacouch - I've found there are a ton of hanging logical file entries without a resource file on disk, it may help you in your troubleshooting.  If SOLR ingests irods directly, this could explain it, but I haven't looked into how SOLR gets file references.
https://github.com/hydroshare/hydroshare/commit/0582f04f4260c06ca09f887fb10bb3b1ee04de14

@pkdash @sblack-usu No, SOLR ingestion doesn't actually harvest disk files. It works entirely on the database. That is a separate issue.
My current fix in #3605 is based upon the idea that harvesting has an off-by-one error. It tries -- and fails -- to ingest two SOLR records at a time. Thus roughly 1/2 of the SOLR records disappear on a rebuild. The fix is to ingest SOLR records one at a time, which works.

@pkdash @sblack-usu I was worried overnight that a change in search_indexes.py might have caused changes in the SOLR schema.  I also just checked schema generation and found that the schema we are running with is identical to the new one I generated. Thus that is not a causal factor.

Made output of solr_update more friendly. Correct output looks like this:
SOLR count = 3440
Django count = 3440
0 resources in Django refreshed in SOLR
Django contains 3407 discoverable resources and 33 replaced resources
0 resources not in Django removed from SOLR
Django contains 3407 discoverable resources and 33 replaced resources

The numbers should match between SOLR and Django.

@phuongdm @sblack-usu Note that using this mechanism, when doing a rollout, it is not necessary to do a SOLR rebuild at all unless I change the schema. This can update a running SOLR image to a new state without running rebuild_index.

@alvacouch so finally, we only need to change rebuild_index to solr_update at the end of every rebuild?

@phuongdm Ideally we should never call rebuild_index until such time that I can certify it. It only needs to be run if I change the SOLR schema. In this release I am not changing that.  solr_update does the same job and is not buggy.

@phuongdm For most users, we need to leave rebuild_index in the script, because it deals with schema changes (that are forthcoming, because of new things I'll be asking SOLR to do). However, in production, this time, we have a need to fix problems and the schema isn't changing. So the better thing to say is that whenever the schema doesn't change, rebuild_index is unnecessary and solr_update should be run instead. Whenever the schema changes, both should be run.

well, I'll wait until the jenkins job is finished.


Fallible constructors

Problem to Solve

Currently we don't support error reporting in constructors
The only way for a program to signal that the constructor has failed is to panic and abort execution
We don't want to leave program in corrupted state so not panicking is not an option
At the same time we want some standard mechanism of reporting errors and representing possible errors in IDL.

Possible Solution
Allow for optional Result type in program constructor that will panic for the user:
impl MyProgram {
    // Current implementation
    pub async fn new(p1: u32) -> Self {
        if p1 > 10 {
            panic!("too large")
        }
        Self { p1 }
    }

    // Proposed way
    pub async fn new_checked(p: u32) -> Result<Self, InitializeError> {
        if p > 10 {
            return Err(InitializeError::TooLarge)
            // Panic will be generated
        }
        Self { p }
        // in case of success we will send the caller `Ok(())` to signal successful initialization
    }
}

Using second way will allow clients to parse errors out of panic messages. It's possible, right?
generated IDL will look like:
constructor {
    New : (p: u32);
    NewChecked : (param: u32) -> result (Self, InitializeError).
};

Maybe we should even force framework users to always use Result version to disincentivize panicking directly.
Notes
Additional inspirations:
Error handling in Anchor:
https://docs.rs/anchor-lang/latest/anchor_lang/macro.error.html
https://docs.rs/anchor-lang/latest/anchor_lang/macro.err.html

Having fallible ctors is considered a bad practice


Monday tasks

Andy:

[ ] finish up assigned issues
[ ] read through main text (I want to give it a final once over)
[ ] tweak formatting in Exec Summary
[ ] spell check

How about say we're done editing at 10am Tuesday? Then do a quick compare of builds, and then use Chris's for the submission.
Someone has to do the manual tagging - Kelli offerred (thanks!) and Chris offerred to help, but I'm not sure if it's easy to divide it up, as you can only work on one file at at time?
Probably worth saving at various stages, such as pre-tagged, pre-alt-text etc., so someone else can understand what we did and hopefully give us feedback.

Final build (before taggin):

[ ] check no un-needed white space
[ ] check footers are correct (add any \clearpage if necessary)


AC = Armor Class

Can you teach the Parser that AC = Armor class?
In this module, the author has slightly deviated from the standard block and one of the items tripping the parser is the author has chosen "AC" instead of Armor Class.
Sample block below:
Dire Squirrel
Medium beast, unaligned
AC: 12
Hit Points: 24 (3d8)
Speed: 50 ft., climb 40 ft.
STR 14 (+2) DEX 15 (+2) CON 10 (+0) INT 3 (-4) WIS 14 (+2) CHA 7 (-2)
Skills: Perception +4, Stealth +6
Senses: passive Perception 14
Challenge 1/4 (50 XP)
Keen Smell. The dire squirrel has advantage on Wisdom (Perception) checks
that rely on smell.
Pounce. If the dire squirrel moves at least 20 ft. straight toward a creature and
then hits it with a claw attack on the same turn, that target must succeed on a
DC 12 Strength saving throw or be knocked prone. If the target is prone, the
panther can make one bite attack against it as a bonus action.
Actions
Bite. Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: (1d6 + 2)
piercing damage.
Claw. Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: (1d4 + 2)
slashing damage.

Yep should be very doable, sorry just saw this, I'll add that soon


Initial setup.

This is based on cookiecutter-django-app instead of cookiecutter-xblock since the former seems to be much better maintained.
This does mean we have an unnecessary dependency on Django but that is already included in edx-platform anyway so not urgent to remove.

@bradenmacdonald Is it okay to put all the XBlocks in one repo? Let me know if we need to change the name or anything else.
(This is just the repo setup; will create another PR for the code.)

Yeah! I think there should be a package which introduces all this tooling into the environment without needing to add code to the repo itself.


Evaluating the trained model

After a couple epochs, I want to save the graph to a .pb file and use the nms_demo.py to try out the network.
I tried using utils.freeze_graph, but I don't know what tensors should I give it to save and what tensors to use to get the output.
In convert_weight.py you are using utils.freeze_graph(sess, './checkpoint/yolov3_gpu_nms.pb', ["concat_10", "concat_11", "concat_12"]), but those tensors do not exist in the new graph.
and nsm_demo.py needs to know what are the input and ouput tensors:
input_tensor, output_tensors = utils.read_pb_return_tensors(gpu_nms_graph, "./checkpoint/yolov3_gpu_nms.pb", ["Placeholder:0", "concat_10:0", "concat_11:0", "concat_12:0"])
What do you suggest?

Just print them all

I need the feature to save the trained model then use it for inference (that's why we are training) and also to evaluate the code.
If you are busy I can implement it. But I need some pointers as how to do it. What do you suggest?

python convert_weight.py -ckpt_file your_trained_yolov3.ckpt --freeze and python nms_demo.py


Convert Merge from Ray Actor to Ray Task.

This allows more flexible scheduling of the work.

Hah I new I thought that Callable import looked weird!

Using TimeTrace on a pipeline that takes 100 NTSB PDFs -> JSONL files using SycamorePartitioner, MarkedMerger, and MiniLM embedder, shows that this change shaves 12 seconds off a 35-minute run and reduces the number of threads from 5 to 3.


first person maze : ok

@jeangit you can navigate to "Files changed" tab to see which changes your pull requests proposes. Currently it only deletes scripts/find_missing_examples.nim file. You will probably need to read some tutorials on git

You can try this guide https://www.gun.io/blog/how-to-github-fork-branch-and-pull-request

I updated contributing notes, please take a look https://github.com/greenfork/nimraylib_now/blob/master/CONTRIBUTING.md
It should have all things necessary

yes i have followed the guide, but even git gurus were unabled to explain me how to ignore an tracked but already modified file (so included in the cache) except by removing it from the cache (git rm --cached file). So that's what i did, but it seems to have removed it on the pushed branch (not on local). git is so odd sometimes, sorry for that i revert things by getting a fresh version of the script, and then pushing it here again.


Increase the packet rate to 200 Hz

Hi,
I want to use openIMU300ZI with a SLAM application.
I need to increase the packet rate and frequency of IMU topics above 200Hz.
The openIMU datasheets says that max rate is 200 Hz and the openimu.json defines this rate in configuration API.
At 10 Hz, the driver is working right.
When I try to change Packet Rate to 200 Hz, I can't do that. I have tried by web application and here is the message in captured screen. The current 115200 baudrate also cannot be changed up to 230400 bps.

I have tried by code in ros driver, but with 200 Hz parameter an error is returned.
Increasing the parameter to 100 Hz the driver works, but the topic is only published at a maximum of rate of 24 Hz. I suscribe with rqt application. I have checked with an oscilloscope that the data packets reach through the UART at 100 Hz (10 ms period) to my Jetson TX2. It's not a polling issue, because I have changed in code, in file openimu_driver.py file, line 44, polling rate to 200:
rate = rospy.Rate(200)   # 10Hz
Could you tell me if I am not configuring correctly? Is it a known limitation of the driver? Or it could be a bug only in this ros driver?
Thank you!
Guillermo

Outside of Aceinna Navigation Studio (https://developers.aceinna.com/ ) you can change default baud rate and packet rate in the source code of the openimu device. You can import a .custom imu example' in the aceinna extension of VScode and then edit the relevant file. For the OpenIMU300ZI IMU application this is in src/user/UserConfiguration.c
Out of the box the OpenIMU300ZI is configured with the IMU app at 115200 baud and 100Hz packet rate
Details on how to install the aceinna VS code extension are at: https://developers.aceinna.com/docs/install

You can adjust the amount of time the ROS driver spends looking for the next packet over the UART with the getdata function in src/aceinna/tools/openimu.py
def getdata(self, datatype):
    readback = self.imudevice.read_untils_have_data(datatype)

read_untils_have_data has default values:
read_untils_have_data(self, packet_type, read_length=200, retry_times=20)
I haven't tested it yet but rewriting the getdata function to the below should allow adjustment of read_length and retry times to increase the rate:
def getdata(self, datatype):
readback = self.imudevice.read_untils_have_data(datatype, 200, 20)

Hi,
I edited the OpenIMU300ZI IMU application and updated the firmware with 230400bps baudrate and 200Hz packet rate configuration.
I have changed the reading function of driver with these parameters in the above function. They are the onlyones which are valid to obtein 200Hz topics.
readback = self.imudevice.read_untils_have_data(datatype, 3, 200)
I have changed the wapper to not sleep, so I have commented two lines in openimu_driver.py. It must be done to obtain higher rate.
#rate = rospy.Rate(400)   # 10Hz
#rate.sleep()
Now it is publishing to maximum rate.
Thank you,
Guillermo

Hi again,
I have been testing the ros driver at high packet rates.
My SLAM algorithm needs orientation data in quaternion format. The default firmware in openIMU300ZI doesn't send this information with any command. So I have updated the firmware to openIMU300ZI_VG_AHRS application. I have configured it with 230400bps, 200Hz and user command "e1". With this configuration it sends angular velocity in m/s, linear acceleration in g, and roll, pitch and yaw (heading) in degrees.
I have done all conversions in ros driver to adapt to ROS REP-105 format.
But I have find some issues with the serial frame reading in helper.py. The two bytes of CRC are not treated and the CRC is not checked. The receiving strategy with fixed "read_lenght" in blocks is lowering the maximum packets parsed and imu topics publishing frequency.
I have changed the code of _parse_buffer function to check CRC and to take bytes one-by-one when packet remaining bytes are below a threshold (10).
Here is my code if you want to reuse it.
def _parse_buffer(data_buffer):
    response = {
        'parsed': False,
        'parsed_end_index': 0,
        'result': [],
        'last_bytes': False,
        'crc_ok': False
    }
    data_queue = Queue()
    data_queue.queue.extend(data_buffer)

    command_start = [0x55, 0x55]
    parsed_data = []
    is_header_found = False
    packet_type = ''
    data_buffer_len = len(data_buffer)
    parsed_crc = []
    header = []

    while not data_queue.empty():
        if is_header_found:
            # if matched packet, is_header_found = False, parsed_data = []
            if not data_queue.empty():
                packet_type_start = data_queue.get()
            else:
                break

            if not data_queue.empty():
                packet_type_end = data_queue.get()
            else:
                break

            if not data_queue.empty():
                packet_len = data_queue.get()
                packet_type = ''.join(
                    ["%c" % x for x in [packet_type_start, packet_type_end]])
                packet_data = []

                if data_queue.qsize() >= packet_len+2:
                    # take packet with 2 bytes of CRC
                    for _ in range(packet_len):
                        packet_data.append(data_queue.get())
                    parsed_crc = []
                    parsed_crc.append(data_queue.get())
                    parsed_crc.append(data_queue.get())
                    header = []
                    header.append(packet_type_start)
                    header.append(packet_type_end)
                    header.append(packet_len)
                    frame = header + packet_data
                    packet_crc = calc_crc(frame)
                    if packet_crc == parsed_crc:
                        response['crc_ok'] = True
                    #else:
                       #print("CRC NO OK")
                    #print("GGLARIA1>>"+str(frame))
                    #print("GGLARIA1>>"+str(packet_crc))
                    #print("GGLARIA2>>"+str(parsed_crc))
                else:
                    #print("no all data"+str(data_queue.qsize()))
                    if packet_len-data_queue.qsize() < 10:
                        #print('last bytes')
                        response['last_bytes'] = True
                    break
                # update response
                response['parsed'] = True
                response['result'].append({
                    'type': packet_type,
                    'data': packet_data
                })
                response['parsed_end_index'] += data_buffer_len - \
                    data_queue.qsize()
                data_buffer_len = data_queue.qsize()

                parsed_data = []
                is_header_found = False
            else:
                break
        else:
            byte_item = data_queue.get()
            parsed_data.append(byte_item)
            if len(parsed_data) > 2:
                parsed_data = parsed_data[-2:]

            if parsed_data == command_start:
                # find message start
                is_header_found = True
                parsed_data = []

    return response

def read_untils_have_data_through_serial_port(communicator, packet_type, read_length=200, retry_times=20):
    '''
    Get data from limit times of read
    '''
    result = None
    trys = 0
    data_buffer = []
    read_length_copy = read_length

    while trys < retry_times:
        data_buffer_per_time = bytearray(
            communicator.read(read_length_copy))
        data_buffer.extend(data_buffer_per_time)

        response = _parse_buffer(data_buffer)
        if response['parsed']:
            if response['crc_ok']:
                matched_packet = next(
                    (packet['data'] for packet in response['result']
                    if packet['type'] == packet_type), None)
            else:
                 matched_packet = None
                 break

            if matched_packet is not None:
                result = matched_packet
            else:
                # clear buffer to parsed index
                data_buffer = data_buffer[response['parsed_end_index']:]
        elif response['last_bytes']:
            read_length_copy = 1
        if result is not None:
            break

        trys += 1

    return result

In openimu.py the read function call is with these parameters.
readback = self.imudevice.read_untils_have_data(datatype, 10, 300)
When collecting the "z1" and "e1" commands in get_data fuction, an exception must be handled when frames are lost or discarded by CRC and readback value is None.
Regards,
Guillermo

@GilenTell Thanks for the insight. Your changes to helper.py do work and have a direct effect on publishing rate when using the AHRS application. However when observing the publish rate of the imu topic, it doesnt seem to be stable. It fluctuates anywhere between 130-190Hz constantly, only sometimes it reaches to 200Hz. Is it the same for you? If getting rid of the CRC would make it more stable?


Improve namespace filtering

TL;DR

New setting enableNamespaceByDefault:

if false => ignore namespace
if true => watch namespace

New label operator.cnwan.io/enabled=yes|no.

yes: watch the namespace
no: stay away from namespace
name is very fitting and can be used to filter other resources in future (e.g. enable this namespace but disable this service under it)

Description
This PR closes #15 and improves the current way a namespace is blocked/allowed. Read the issue for more information, although the changes have been applied in a slightly different way.
This provides a much simpler way to filter namespaces that must be ignored or watched by the operator: there is no more concept of allowlist or blocklist, and there is a more descriptive label.
You just need to label the namespace as operator.cnwan.io/enabled with either yes and the operator will watch service updates on this namespace or no and the operator will stay away from it. This replaces the old operator.cnwan.io/allowed and operator.cnwan.io/blocked as they were redundant and made the value irrelevant (it was basically ignored). Again read the issue for more information about why I consider it a bad practice.
If such a label is not found, then the operator will pretend it saw operator.cnwan.io/enabled=no, unless enableNamespaceByDefault is set to true on the operator's settings, in which case it will pretend it saw operator.cnwan.io/enabled=yes.
Finally, this fixes some other minor bugs found while developing the feature.
Status

[x] Replace old namespaceListPolicy setting with a simple enableNamespaceByDefault boolean one
[x] Replace old labels with operator.cnwan.io/enabled labels
[x] Update controllers
[x] Update unit tests
[x] Update documentation

As usual, PR will exit draft once all checks are marked as completed

I just renamed all instances of "enable" with "monitor", as we previously discussed. Although now I am (over-)thinking if maybe "watch" would be better, to be more consistent :D :D

I just renamed all instances of "enable" with "monitor", as we previously discussed. Although now I am (over-)thinking if maybe "watch" would be better, to be more consistent :D :D

Indeed, "watch" sounds better to me too, let's see what @arnatal has to say... :)


Problem in abs_templates_ec/analog_mos/edge.py line 343:

The line 343 in  abs_templates_ec/analog_mos/edge.py commit   8cb110218e1e05 in its current form
out_info = tech_cls.get_outer_edge_info(guard_ring_nf, layout_info, is_end, outer_adj_blk,
                                                is_sub_ring=is_sub_ring)

returns an error
File "..../BAG2_TEMPLATES_EC/abs_templates_ec/analog_mos/edge.py", line 344, in draw_layout
    is_sub_ring=is_sub_ring)
TypeError: get_outer_edge_info() got an unexpected keyword argument 'is_sub_ring'

This seems to work:
out_info = tech_cls.get_outer_edge_info(guard_ring_nf, layout_info, is_end, outer_adj_blk)
It seems to have gotten its current form in commit 6bd341f2 by @ayan-biswas . Cant say what is the correct/intented form.
I would have filed a pull request, but I can not push branches to this repo.

This is an extra feature added to BAG2_TEMPLATES_EC to support other processes, and tsmc16_FFC (which I assume you are using) has not been updated to use it.
Basically, as you have already figured out, tsmc16_FFC does not need this extra flag, but it is needed for other processes. You should not change this process agnostic generic implementation. The correct fix is to go to mos/base.py of the process (tsmc16_FFC in your case), and add an extra argument "**kwargs" to the process specific definition of the get_outer_edge_info() method. This allows the method to get multiple keyword arguments, as necessary.
Sorry for the delayed response - I was on vacation. Unfortunately I cannot do the above change since I do not have access to tsmc16, so you should raise this issue there.
Even if you are using some other process and face a similar issue, it is most probably a problem with the specific implementation and not the generic one, as I explained above.

In my process definition, I'm using
"from abs_templates_ec.analog_mos.planar import MOSTechPlanarGeneric"
So in this case the method get_outer_edge_info is defined in
BAG2_TEMPLATES_EC/abs_templates_ec/analog_mos/planar.py as
def get_outer_edge_info(self, guard_ring_nf, layout_info, is_end, adj_blk_info)
So I think the **kwargs should be then added there, right?

I see, you are using planar technology. I have only been working with finfets so far, so it is expected that planar.py and soi.py are not updated.
What you suggested, sounds correct to me. Basically all the abstract method definitions should have the same arguments list.
Please contact Eric about getting collaborator access to this repo, so that you can submit pull requests. Then he will review those and merge to master.
Thank you for bringing up this issue.

Just confirming Ayan's comments are correct; the method signature in the planar.py needs to be updated.

@pkerichang , OK, got it. Can you give me collaborator status so I can make the fix an file a pull request?


Include core constants as an attribute of each model constants class

Is your feature request related to a problem? Please describe.
It's fiddly to have to track both model constants and core constants data-classes separately. So it would be simpler for each model constants data class to contain every relevant constant. By including the core constants data class as an attribute we can also retain the advantage of having a single location where all core constants are defined.
Describe the solution you'd like
Core constants could be set as an attribute and relevant constants could be returned using properties, e.g.
class LitterConsts:
    ...
    core_constants: CoreConsts = CoreConsts()

    @property
    def depth_of_active_soil_layer(self) -> float:
        return core_constants.depth_of_active_soil_layer

Then when constants data classes are created from the Config, the CoreConsts would have to be created first, and used to created the model specific constants data classes.
Describe alternatives you've considered
I don't see a clear alternative aside just putting up with each model having a separate core_constants and a model_constants dataclass.
Additional context
This thread contains discussion of the issue. Also this issue has overlap with the broader issue #208.

Closing this. Over in #364, we've found a clean solution to implement this, but at the moment have chosen to keep separate CoreConsts and ModelConsts namespaces, probably with the addition of making a single CoreConsts instance at startup to use across all models.


Sponsorship

Would it be possible to set up GitHub sponsorship for the project, or some other way to financially contribute?

I've never thought it worth the bother of sorting out the tax aspect, in return for a few quid, to be honest.
If you want to give something, please push the equivalent of a beer or two towards Médecins sans frontières (or another worthy charity of your choice). I've got a fundraiser for MSF (for another project) here if you'd rather.
Thanks!

I see, thanks for the reply. We do have a charity we continuously support, the Hungarian Charity Service of the Order of Malta. Here we're specifically looking for suitable OSS projects to support.

(Just for the sake of the record, and anyone finding this issue, I've now enabled sponsorships for this repo. This is in no way a request or solicitation!)

I'll check it out. PayPal Donate is not really suitable when donating as a company (since we need the proper paperwork, i.e. invoice), let's see if Ko-fi will work.

You can, but it's $6/mo to enable it, which is excessive.
I've added liberapay to the list on the sponsor button, which allows recurring payments.

Thanks! I had some questions for them about donating as a company.

Just FYI, still working on this. GitHub Sponsors just works, as does Open Collective. Ko-fi is already a bit unusual in OSS but I made it work but now with liberapay it's yet another round of figuring out. The root of the issue is that as a company you can't just send money freely, there needs to be sufficient supporting documentation.

Did it via Ko-fi in the end, in a single payment. Couldn't figure out liberapay.

WOW, thank you so much! That's incredible!

Thank you for your work on RestEase :).


Case Quick submit form needs to be updated *Pre Montreal

Data fields for quick sub from Pat:
https://docs.google.com/document/d/1apX0QMh43rushoBEGoz_YM1HXn2rlieEX9zJwlBbeDs/edit?usp=sharing

Note - you don't necessarily have to use Pat's new list of "General Issues" just yet as it will be quicker just to relocate "Issue" from the "do full version" to quick submit.

Also include tags in quick submit, so we can tag entries as 'oidp2017' to show up in search results.

All we need from this for Montreal:

[ ] Make top-level General Issues the default list in UI for issues, ignore all the other fields from that google doc
[ ] Move the issue picker and tags into quick submit.

@dethe will you use pat's new list of general issues or the one currently on .net? And, will you allow people to pick more than one issue or only one? Thanks!

@jesicarson I don't see a problem with using Pat's list (it's the other parts of that document that are problematic), but you'll only be able to pick one.

gotcha, thanks dethe.

I think this has been done for some time.


FIX : Deserialization of types (APP)

Should fix /api/Parking/spaces/park

and /api/Vehicle

Already fixed !


error while updating

Hi everyone I was wondering if someone could give me some hints on the following error:
bash-it update
Error updating Bash-it, please, check if your Bash-it installation folder (/Users/user/.bash_it) is clean.

What does it mean check if installation folder is clean shouldn't the update happen automatically?

It means that you might have local modifications in your $BASH_IT folder, preventing you from merging incoming changes.
Can you do the following and then check the output, or post it here?
# cd into the Bash-it folder
cd $BASH_IT

# Check the Git status
git status

@nwinkler thanks.
Here's the output:
git status
On branch master
Your branch is behind 'origin/master' by 72 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   bash_it.sh

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	themes/powerline-mandy-custom/

no changes added to commit (use "git add" and/or "git commit -a")

The weird thing is that last time I did a bash-it update and everything worked fine but since that time now it seems that something has been changed in bash_it.sh. Maybe the last update overwrote sth?

You can do a git diff to see what's changed and whether you had caused that... You can also run a git reset --hard if you want to remove all local changes, but be warned that that will remove all local changes, so make sure that it's not something you want to keep...

Thanks for closing this!


Fix docs/scripts/auto-generate-examples.py

Description
Hot-fix docs/scripts/auto-generate-examples.py script as the GITHUB_BRANCH environment variable is empty, so rollback to use main by default which is not ideal either since the PR examples won't have working images, but lets tackle this on another PR later on.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Add MarchHare support

Hi,
This PR ads march_hare support. I don't consider it complete, since I didn't test all the cases. The test suite passes, and I also tested it using my application that was already using hutch.
However, I didn't test all the options passed to MarchHare.connect since I don't have an app to test it. Also I'm not sure if I'm properly using the signals inside the main loop, but it seems to work.
The only part which I'm not sure how to do is handling ConnectionError. When rabbitmq is stopped, or there is a network failure, it seems that MarchHare is calling the shutdown handler, not trying to reconnect.
I'm sorry if I'm missing something, this is my first contact with MarchHare internals.

Thank you!


error: use of undeclared identifier 'NAPI_AUTO_LENGTH' when installing on Linux

After cloning, running npm install or  ./tools/presubmit.js returns an error.
I am running Arch Linux, and my kernel release is 4.12.13-1-ARCH.
Here are the errors:
npm install
/home/adrien/Git/propel/build/Release/libtensorflow_framework.so
  CXX(target) Release/obj.target/tensorflow-binding/src/binding.o
../src/binding.cc: In function ‘napi_value__* HandleGetDevice(napi_env, napi_callback_info)’:
../src/binding.cc:743:50: error: ‘NAPI_AUTO_LENGTH’ was not declared in this scope
   nstatus = napi_create_string_utf8(env, device, NAPI_AUTO_LENGTH, &js_device);
                                                  ^~~~~~~~~~~~~~~~
../src/binding.cc:743:50: note: suggested alternative: ‘NAPI_NO_RETURN’
   nstatus = napi_create_string_utf8(env, device, NAPI_AUTO_LENGTH, &js_device);
                                                  ^~~~~~~~~~~~~~~~
                                                  NAPI_NO_RETURN
../src/binding.cc: In function ‘napi_value__* InitBinding(napi_env, napi_value)’:
../src/binding.cc:1049:7: error: ‘NAPI_AUTO_LENGTH’ was not declared in this scope
       NAPI_AUTO_LENGTH,  // JavasScript class name length
       ^~~~~~~~~~~~~~~~
../src/binding.cc:1049:7: note: suggested alternative: ‘NAPI_NO_RETURN’
       NAPI_AUTO_LENGTH,  // JavasScript class name length
       ^~~~~~~~~~~~~~~~
       NAPI_NO_RETURN
In file included from ../src/binding.cc:15:0:
../src/binding.cc: At global scope:
/home/adrien/.node-gyp/8.5.0/include/node/node_api.h:96:5: error: invalid conversion from ‘napi_value__* (*)(napi_env, napi_value) {aka napi_value__* (*)(napi_env__*, napi_value__*)}’ to ‘napi_addon_register_func {aka void (*)(napi_env__*, napi_value__*, napi_value__*, void*)}’ [-fpermissive]
     };                                                                \
     ^
/home/adrien/.node-gyp/8.5.0/include/node/node_api.h:103:3: note: in expansion of macro ‘NAPI_MODULE_X’
   NAPI_MODULE_X(modname, regfunc, NULL, 0)
   ^~~~~~~~~~~~~
../src/binding.cc:1178:1: note: in expansion of macro ‘NAPI_MODULE’
 NAPI_MODULE(tensorflow_binding, InitBinding)
 ^~~~~~~~~~~
make: *** [tensorflow-binding.target.mk:114: Release/obj.target/tensorflow-binding/src/binding.o] Error 1
make: Leaving directory '/home/adrien/Git/propel/build'

./tools/presubmit.js
Extracting libtensorflow_framework.so
/home/adrien/Git/propel/build/Release/libtensorflow_framework.so
clang -c -o Release/binding.o ../src/binding.cc -I/usr/include/node -I/home/adrien/Git/propel -I/home/adrien/Git/propel/deps/libtensorflow/include -Wall -W -Wno-unused-parameter -std=gnu++0x -DNODE_GYP_MODULE_NAME=tensorflow-binding -DUSING_UV_SHARED=1 -DUSING_V8_SHARED=1 -DV8_DEPRECATION_WARNINGS=1 -D_DARWIN_USE_64_BIT_INODE=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILDING_NODE_EXTENSION -m64 -fPIC -pthread
../src/binding.cc:743:50: error: use of undeclared identifier 'NAPI_AUTO_LENGTH'
  nstatus = napi_create_string_utf8(env, device, NAPI_AUTO_LENGTH, &js_device);
                                                 ^
../src/binding.cc:1049:7: error: use of undeclared identifier 'NAPI_AUTO_LENGTH'
      NAPI_AUTO_LENGTH,  // JavasScript class name length
      ^
../src/binding.cc:1062:7: error: use of undeclared identifier 'NAPI_AUTO_LENGTH'
      NAPI_AUTO_LENGTH,  // JavasScript class name length
      ^
../src/binding.cc:1178:33: error: cannot initialize a member subobject of type 'napi_addon_register_func' (aka 'void (*)(napi_env__ *,
      napi_value__ *, napi_value__ *, void *)') with an lvalue of type 'napi_value (napi_env, napi_value)' (aka 'napi_value__ *(napi_env__ *,
      napi_value__ *)'): different number of parameters (4 vs 2)
NAPI_MODULE(tensorflow_binding, InitBinding)
                                ^~~~~~~~~~~
/usr/include/node/node_api.h:103:26: note: expanded from macro 'NAPI_MODULE'
  NAPI_MODULE_X(modname, regfunc, NULL, 0)
                         ^~~~~~~
/usr/include/node/node_api.h:92:7: note: expanded from macro 'NAPI_MODULE_X'
      regfunc,                                                        \
      ^~~~~~~

I believe if you upgrade node to 8.x or better it will fix this. Let me know if that works.

I am running Node 8.5.0.

@alaq Does the above commit fix your problem?

I'll check tonight and update this comment.

Is it possible to try with a newer version of node 8, e.g. v8.10.0?
I think n-api wasn't really settled as of version 8.5.

@piscisaureus Maybe we can just include our own napi header?

That works only if the ABI didn't change between these versions of node. Are we sure about that?
I think it's okay to say we support only  versions 8.x and up for some value of x.

That's the intention of napi isn't it? It's relatively easy - and will avoid these issues.

In the early v8 releases napi was still experimental and the API/ABI was changing between minor releases. See this diff: https://gist.github.com/anonymous/12b99399c7e81b53990857572a4c9896#file-8_5_0_to_8_10_0-diff
Between v8.10.0 and master, there have been no breaking changes:
https://gist.github.com/anonymous/12b99399c7e81b53990857572a4c9896#file-8_10_0_to_master-diff

I updated to v9.8.0 yesterday and I have a different set of errors that do not seem to be related to NAPI. I've been trying to troubleshoot, let me circle back on this with more details.

package.json updated to require node >= v8.6.0 -- https://github.com/propelml/propel/commit/6a6e6ee7831a367ec57e2fbca65094102195081d


SSL: CERTIFICATE_VERIFY_FAILED behind proxy

Hi,
I have proxy server to use and try to send simple message.
token = 'Blah-Blah;
proxy_endpoint = 'http://proxyserverip:8080'
slack = Slacker(token,
http_proxy=proxy_endpoint,
https_proxy=proxy_endpoint,)
slack.chat.post_message('#somechannel', 'Hello!!')
However, error message comes as below
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)
I think there is some way to walk around disabling verify with get(..., verify=False).
Is this bug? Is there a way to do this walk around?
SB

I found temporary solution on this after trying to googling more on similar issues.
Below code works fine, however this has potential security issue. In addition, I think it needed to make a way to enable and disable certification verification during slacker creation.
        response = method(API_BASE_URL.format(api=api),
                          timeout=self.timeout,
                          proxies=self.proxies,
                          verify=False,
                          **kwargs)

SB

I have a similar issue with a twist: our firewall blocks slack.com but allows .slack.com. So I think I need to change the base URL used for the API request. Any thoughts?

I found another fix for this. Actually, this is caused since the company cert file is not included in configuration file. You can refer following link: https://stackoverflow.com/questions/52870795/windows-python-ssl-certificate-verify-failed
I think this link is also helpful: https://stackoverflow.com/questions/39356413/how-to-add-a-custom-ca-root-certificate-to-the-ca-store-used-by-pip-in-windows

I have a similar issue with a twist: our firewall blocks slack.com but allows workspace.slack.com. So I think I need to change the base URL used for the API request. Any thoughts?

Hi, @jonbackhaus. I didn't know that it's possible to use a different URL. What do you think about adding an optional init parameter like base_url or base_api_url where you can pass workspace.slack.com instead?

I found a better fix for this. Actually, the root casue of this issue is that the user's own company cert file is not included in configuration file of certifi package (C:\Python\Python37-32\Lib\site-packages\certifi\cacert.pem). You can refer following link: https://stackoverflow.com/questions/52870795/windows-python-ssl-certificate-verify-failed
As described in the link, you need to add custom ca at the end of cacer.pem file.
Another link for doing this with python script : https://incognitjoe.github.io/adding-certs-to-requests.html
I think this link is also helpful understand certificate related issue for python: https://stackoverflow.com/questions/39356413/how-to-add-a-custom-ca-root-certificate-to-the-ca-store-used-by-pip-in-windows

Hi, @blcktgr73. So you can fix this issue without any code changes? Do we still need the verify parameter?


[SPARK-46063][PYTHON][CONNECT] Improve error messages related to argument types in cute, rollup, groupby, and pivot

What changes were proposed in this pull request?
This PR  improves error messages related to argument types in cute, rollup, groupBy, and pivot.
./bin/pyspark --remote local

>>> help(spark.range(1).cube)
Help on method cube in module pyspark.sql.connect.dataframe:

cube(*cols: 'ColumnOrName') -> 'GroupedData' method of pyspark.sql.connect.dataframe.DataFrame instance
    Create a multi-dimensional cube for the current :class:`DataFrame` using
    the specified columns, allowing aggregations to be performed on them.
...

Before:
>>> spark.range(1).cube(1.2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/.../python/pyspark/sql/connect/dataframe.py", line 544, in cube
    raise PySparkTypeError(
pyspark.errors.exceptions.base.PySparkTypeError: [NOT_COLUMN_OR_STR] Argument `cube` should be a Column or str, got float.

After:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/.../python/pyspark/sql/connect/dataframe.py", line 544, in cube
    raise PySparkTypeError(
pyspark.errors.exceptions.base.PySparkTypeError: [NOT_COLUMN_OR_STR] Argument `cols` should be a Column or str, got float.

Why are the changes needed?
For better error messages to end users.
Does this PR introduce any user-facing change?
Yes, it fixes the user-facing error message.
How was this patch tested?
Manually tested.
Was this patch authored or co-authored using generative AI tooling?
No.

cc @zhengruifeng

merged to master


Ubuntu 16.04 libapache2-mod-auth-openidc : Depends: libhiredis0.10 (>= 0.10.1) but it is not installable

Hi there, I am using your mod, it's an excellent mod, I cannot live without it! Thank you so much!
I recently tried to upgrade to Ubuntu 16.04 but I am hitting a brick wall:
libapache2-mod-auth-openidc : Depends: libhiredis0.10 (>= 0.10.1) but it is not installable
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"
# apt-cache search libhiredis
libhiredis-dbg - minimalistic C client library for Redis (debug)
libhiredis-dev - minimalistic C client library for Redis (development files)
libhiredis0.13 - minimalistic C client library for Redis

...
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.4 LTS"
# apt-cache search libhiredis
libhiredis-dbg - minimalistic C client library for Redis (debug)
libhiredis-dev - minimalistic C client library for Redis (development files)
libhiredis0.10 - minimalistic C client library for Redis

Maybe creating a metapackage "libhiredis" with different versions will help?
Thanks again! Please let me know if I can hep testing?
Actually, as I type this, I realize it might not even be your problem, I should probably contact the libhiredis guys? Just leaving this here in case someone else has this problem.
Riaan

For Ubuntu 16.04 you need the "Wily" package as mentioned in the release notes https://github.com/pingidentity/mod_auth_openidc/releases/tag/v2.1.6 That version works with libhiredis0.13.

Thank you @zandbelt - Sorry I missed that part in the release notes, thank you for the reply and most of all thank you for all your effort.
Have a great week!
Riaan

Hi! I am reaching out is to ask if you have any other versions of libhiredis that we can use.
We are having CVE with our httpd base image. When we upgrade to the latest version of httpd image, the CVE is disappeared. However, our app will not start. The error we are getting is related to redis. From the list that we can find, libhiredis0.14 (0.14.1-4) is the only version we can see. So we had to use the earlier version - httpd:2.4.56-debian-ff which work with libhiredis0.14.
Here is what we have currently:
apt install -y libcjose0 libapache2-mod-auth-openidc libhiredis0.14
Below is what we get:
❯ apt-cache show libapache2-mod-auth-openidc|grep Depends
Depends: libapr1 (>= 1.2.7), libaprutil1 (>= 1.4.0), libc6 (>= 2.14), libcjose0 (>= 0.4.1), libcurl4 (>= 7.16.2), libhiredis0.14 (>= 0.14.0), libjansson4 (>= 2.0.1), libpcre3, libssl3 (>= 3.0.0~~alpha1), apache2-api-20120211, apache2-bin (>= 2.4.16)
It specifically wants hiredis v0.14.0. We tried to use different version of httpd base image other than httpd:2.4.56-debian-ff. But we have not found one that works yet. In order to fix the CVE, we need to be able to find a newer version of libapache2-mod-auth-openidc that works with newer version of libhiredis.
I submitted a question with hiredis github repo. They do have newer version of libhiredis. I am looking for assistance from you to find out what version of httpd and libapache2-mod-auth-openidc will work with libhiredis. Any suggestions? Thanks in advance!
Thanks,
Fong


Add email bulk delete option with checkboxes on email list page.

Hi, i am interested in resolving this issue.

Hi, i am interested in resolving this issue.

Hi @Pantex9, thanks for your interest! Your help would be very much appreciated! 👍
Feel free to take a try at it and submit a PR. If you have any questions regarding the project structure or need help in setting up your environment let me know and I'll gladly help out.


Error when building project

When I'm building the project I'm getting this error:
com.apollographql.apollo.compiler.parser.GraphQLDocumentParseException:
Failed to parse GraphQL file .../schema.json.graphql (3:7)
Unsupported token `{`

and this is the schema.json file
query {
  getUsers {
    id
    name
    lastName
  }
}

I'm getting the error while building too. Here is the error
com.apollographql.apollo.compiler.parser.GraphQLDocumentParseException:
Failed to parse GraphQL file C:\Users\Narayanan KA\Downloads\Android projects\Kickstarter\app\src\main\graphql\activity.graphql (2:35)
Unsupported token }


Add support for the 5000 series

This is a redo of the other pull request that I closed here: #9

@Lorac, thank you for the pull request. This repository is becoming deprecated and is replaced by https://github.com/picotech/picosdk-python-wrappers.


Focus *picker inputs on tap

Problem description
For iOS tablet and phones (safari and chrome) I found that if you focus on a form "TextField" input, before tapping on or a opening a DatePicker or TimePicker, the focus will persist on the last input. To fix this on iOS:
I added the "onTouchTap" property to the *Picker
onTouchTap={this.excuseKeyboard}
and implemented component method (bound to component)
    excuseKeyboard(event) {
        event.target.focus();
    }

Without this the picker will open with keyboard open and I think would be more useable out of the box with this done automatically (only tested on iOS).
Versions

Material-UI: 0.17.0 - 0.16.x
React: 15.x
Browser: iOS 10.x, mobile chrome and safari (ipad/iphone7/iphone6plus)

Closing for #4787


Slot the footer

This change is

Pull Request Test Coverage Report for Build 229

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.23%

Totals

Change from base Build 212:
0.0%

Covered Lines:
81

Relevant Lines:
81

💛  - Coveralls


Run unit tests against PyTorch nightlies as part of our nightly CI

Our CI was not running our unit tests against PyTorch nightlies at all, just our recipe tests.
Ideally, we should not run against PyTorch nightlies on every PR. This is because if PyTorch nightlies are broken it will block all our PRs until things are resolved. This is the reason that we run our recipe tests against the PyTorch nightlies each night. However, we currently do not run our unit tests against the PyTorch nightlies at all in our CI. This is not good.. one of our flex attention tests was broken for a couple days and there was no means of catching it.
So this PR adds unit tests to our nightly CI job that runs against PyTorch nightlies. We can also consider a job that runs against PyTorch nightlies on push to main too.. that way we can get quicker signal
Also I rename the file, job, etc from "Recipe tests" to "GPU tests" since recipe tests is no longer an accurate description.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 71.04%. Comparing base (221031a) to head (b250e03).
Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1569      +/-   ##
==========================================
- Coverage   73.36%   71.04%   -2.32%
==========================================
  Files         287      289       +2
  Lines       14142    14179      +37
==========================================
- Hits        10375    10074     -301
- Misses       3767     4105     +338

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


XML Variable Substitution Mechanics of Locating Elements

The example has 4 items in step 3 "Define the required values in release pipeline variables"
"DefaultConnection" is the value of the name attribute, and the variable value replaces the connectionString attribute's value.  This would be the equivilant of <add name="DefaultConnection" connectionString="Data Source..." xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
"AdminUserName" is the value of the key attribute, and the variable value replaces the value attribute's value.
This would be the equivalent of <add key="AdminUserName" value="ProdAdminName" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
In each case there two attributes.  The key/name attribute used as the locator, and the second attribute which is having it's value set.  Looking at the example, I assume that you've added some behind the scenes niceties, such that you search all name/key attributes for the value in the variable Name column, and then depending on the type you're assuming we want to set the connecitonString attribute.
So variable name matches the value of a key/name attribute.  And variable value sets the value of a connectionString/value attribute.  So there's always two attributes, one being used as lookup, and we look at the value of the attribute for a match, and then the second attribute where we set the value of that attribute.
One attribute used for the lookup, the second attribute has it's value set.
Connection strings: The value of "name" attribute is used as the lookup, the second attribute "connectionString" has its value set.
App settings: The value of "key" attribute is used as the lookup, the second attribute "value" has its value set.
In all of the first three examples, the variable name and variable value map to the values of attributes.  The attribute names "key" and "name" don't appear in the example.  It's clear the transformation understands these configurations and infers this.  However, invariantName is not a attribute value, but an attribute name.
The last example in the table with a variable name "invariantName" and variable value "System.Data.SqlClientExtension" isn't consistent.  Here's where things get really confusing
How does it do the lookup?
Let's say that there was consistency with the above.
Entity Framework providers: The value of "invariantName" attribute is used as the lookup, the second attribute "type" has its value set.
If this were true, then the example would instead show this for the fourth variable name/value example:
"System.Data.SqlClientExtension"    "System.Data.Entity.SqlServer"
It would lookup the provider with invariantType(inferred by the transformation the same way it infers name/key) matching value "System.Data.SqlClientExtension", and then set the second attribute "type" to "System.Data.Entity.SqlServer".
However, in this case "invariantName" is not the value of an attribute, it is the attribute name.  And the value is the value of the same attribute instead of a second attribute in the same element.  This is different from the preivous example where they inferred the two attributes, looked up the element on the attribute value, and then set a second attribute.
This further breaks down when you consider that the providers collection can have multiple providers.  And they will all have an attribute called invariantName.  So honestly I don't understand how the fourth example could possibly work.
This is not a problem for the connectionStrings/appSettings collections because the example makes it clear that they infer the variable name as being a value match against name/key attributes ensuring a unique element is obtained.  So again, any kind of consistent example would have the variable name as "System.Data.SqlClientExtension" and we assume that it uses this match against invariantName.
This is exactly why config transforms must include four pieces of information.  The name of the element to use for location, the value of that location element, the name of the attribute to set, the value of that attribute.  It's clear you've built something that infers two of those four pieces of information, the two attribute names, so we only provide a variable name/value for the remaining two.
<add name="DefaultConnection" connectionString="Data Source..." xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
However this leaves us to guess for different collection types how you infer what the location attribute is, and which attribute will have its value set.
I understand you've tried to simplify the transformation, but then it makes everything else much more complicated because we have to guess which attribute is the locator attribute for the more complicated cases.
I might try to let us specify all four pieces of information, so the locator is explicit and clear.  I understand there's some learning curve with how transforms use locator attributes, so having all four pieces of information is more confusing.
To simplify the common case, prepopulate the table with information from the config file or provide preset options "subsitute app setting"/"substitute connection string" and a modal can show list of connection string names to choose from, which would generate the entry with all for pieces of information.
So for example, I click a "Subsitute Connection String" button, then I see the list of connection strings "DefaultDatabase" and "UserDatabase" (if I had two databases).  I click "UserDatabase" and it adds an entry to the table with all four pieces of information.
Locator Attribute  |  Locator Value To Match    |   Attribute To Set    |  Value To Set
name | UserDatabase | connectionString | <type/paste your connection string here>
This is very intuitive, yet at the same time helps me learn and understand how the locators work.  You make the common case simple, but allow for more complex scenarios.  (Sorry I don't know how to format tables on github.)

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

ID: 315ff823-9992-9f9b-62a1-42ce622ed41c
Version Independent ID: 72ec3ffc-1dc9-b2dc-e3d4-4f14deae3720
Content: File transforms and variable substitution
Content Source: docs/pipelines/tasks/transforms-variable-substitution.md
Product: devops
GitHub Login: @alexhomer1
Microsoft Alias: ahomer

Also consider what if a connecitonString name and an appSetting key have the same value.  The values table doesn't specify which section the variable is for.
I'll add the invariantType example is even more ambiguous when you consider there could be other XML paths that contain an attribute called invariantType.  Even my proposed design change would fall short, because it would match any element path in different configSections that happen to use the same attribute name.  This could result in some really unexpected transforms.

I think the only other option besides the existing transformations would be to use XPath expressions as the locator and provide some buttons as I mentioned to generate the most common cases for appSettings and Connection Strings.
I'd almost prefer to just upload a config transform specific to that build/release step and flag it as secured.  This way I can have production values secured and protected by the permissions access on the pipeline, and not have to include the transform in source control.

Still relevant.  The mechanics of transformations in this section are still ambiguous: "Define the required values in release pipeline variables:"

Found the source code for the javascript that actually performs the xml variable substitution, guess we'll have to find out the hard way:
https://github.com/Microsoft/azure-pipelines-tasks/blob/master/Tasks/Common/webdeployment-common/xmlvariablesubstitutionutility.ts

@N-Usha


feat: api template for lsc

[x] api template
[x] api readme file updated

This is template contains

[x] Services integration ( services, services-cache , services-logger,services-notifications)

Coverage decreased (-0.3%) to 76.694% when pulling 958bc3fede22200200d3bb19427662b4b73f4513 on FCS-66 into 31c0043cf97c79a00c58fafd59851ef8ba6473c9 on master.

:tada: This PR is included in version 2.13.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


create script for cleaning the tax_lien_sale_list data

initial commit

No conflict with the base branch. Okay to merge.


Aggregate wifiscans

The purpose of this PR is to enable aggregation of wifiscan entries so that optimizers have a more complete picture.
The getAggregatedWifiScans() method was added in ModelerUtils to do the core aggregation logic. To support this, other significant changes were made:

An aggregators package to implement basic numerical aggregation methods used by getAggregatedWifiScans()
Timestamps are needed for aggregation. The wifiscan entries have a tsf field but this is an unknown time reference. Therefore, this PR extends the base class with a subclass to keep track of the unix time (and the base class was moved to the ucentral.models package). This unix time is gotten from the Kafka records.
The ucentral.operationelement package was added mainly to help decode the base64 encoded HT operation element and VHT operation element strings

Tests were added to test the added packages/classes and the getAggregatedWifiScans() in ModelerUtils

Great work!

Thank you!

Great work! Impressed that you did the extra effort of coding HT and VHT operation elements.

Thank you!


Chat.create removes "timeout" from args

Describe the bug
When making a call to the ChatCompletion create method, e.g.:
response = openai.ChatCompletion.create(
        model=self.model_id,
        messages=self.get_formatted_messages(),
        timeout=10
    )

The timeout is popd off of the kwargs by this line in the completion class (link):
timeout = kwargs.pop("timeout", None)
The pop method removes the arg from kwargs before it's passed to super, which means that the timeout doesn't have the intended effect (the local method there does do some stuff with it, but that would only allow you to increase the timeout).
To Reproduce
Run an API call with a shorter timeout:
response = openai.ChatCompletion.create(
        model=self.model_id,
        messages=self.get_formatted_messages(),
        timeout=10
    )

And observe that said timeout is not respected. The timeout remains 600 seconds.
Code snippets
No response
OS
macOS
Python version
3.10.9
Library version
openai==0.27.2

Can confirm this error, because of that, it is not possible to set a timeout.

Can you describe the breaking change here? We generally try to avoid that if possible because we know how jarring of an experience it can be.  That parameter is also available in our completions endpoints.

Can you describe the breaking change here? We generally try to avoid that if possible because we know how jarring of an experience it can be. That parameter is also available in our completions endpoints.

In the completions endpoint, there were Python examples somewhere along the line that used engine instead of model, and that still works in the completions Python API today, but not in the chat version. The same is true of the timeout parameter working fine for the standard completions, and being included in examples before, while the chat completions API does not work correctly unless you use request_timeout.
Even if the current way of doing things works fine in both places, previous examples did not always use the current parameters. Perhaps it was meant to be deprecated somewhere along the way, but there was never a point where I was using them in the Python completions API where any warnings were output indicating that was not a supported way of passing that information to the methods.
In addition, no warnings are issued when using them with the chat completions API, it just silently does not work as expected. Ideally it should not accept the incorrect and unsupported parameters and throw an error. Accepting unsupported parameters and then silently failing in unexpected ways causes a lot of unneeded headaches.

I have this problem too, I get "'float' object is not callable" when I pass the param timeout, I also try the param request_timeout, it's not work.

I have this problem too, I get "'float' object is not callable" when I pass the param timeout, I also try the param request_timeout, it's not work.

Can you share some of your code? I think that might be a different issue.

@ReadyPlayerEmma

The same is true of the timeout parameter working fine for the standard completions

Actually from what i see both completions and chat have the same thing, timeout is popped off and doesn't seem to do what you'd expect. But that doesn't change the fact that the docs and actual code is confusing and not clear. It seems timeout used to do a lot more (look at engine_api_resources.py) but then was part way deprecated in favor of request_timeout. But 1) it wasn't fully deprecated and 2) the docs and code are not clear. I would suggest choosing either request_timeout or timeout (or maybe change timeout to something that makes more sense to what it actually does, like retry_until or retry_timeout), and removing dead code paths like this in EngineApiResource:
            if timeout is not None:
                await obj.await_(timeout=timeout or None)

In our v1 beta we've unified to a single timeout argument which is passed to the client constructor and can be configured per-request using client.with_options.
from openai import OpenAI

# Configure the default for all requests:
client = OpenAI(
    # default is 60s
    timeout=20.0,
)

# More granular control:
client = OpenAI(
    timeout=httpx.Timeout(60.0, read=5.0, write=10.0, connect=2.0),
)

# Override per-request:
client.with_options(timeout=5 * 1000).chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {
            "role": "user",
            "content": "How can I list all files in a directory using Python?",
        }
    ],
)

https://github.com/openai/openai-python/tree/v1?tab=readme-ov-file#timeouts


Parse repository out of package.json

Semver
This project uses semver, please check the scope of this PR:

[ ] #none#
[ ] #patch#
[x] #minor#
[ ] #major#

CHANGELOG
Added

Support for automatically parsing the Github repository owner and name out of the repository property in package.json

@job13er I would add you as a reviewer but I don't see the option in the Github UI to do so.


sgx_quote3_error_t has a mismatch with intel's library.

hi, i'm building dcap of intel, and i found the "sgx_quote3_error_t"  has a different SGX_QL_SUCCESS value with intel's library, 0xE000 vs 0x0000.
the code lies here:
rust:   https://github.com/baidu/rust-sgx-sdk/blob/0ca456a8f153bc4eeb86750ed9f56fde3496d6ee/sgx_types/src/error.rs#L385
intel-dcap:   https://github.com/intel/SGXDataCenterAttestationPrimitives/blob/df69a7f998168bb5d0fd859615387d806031693b/QuoteGeneration/quote_wrapper/common/inc/sgx_ql_lib_common.h#L48

Oh. Thanks!

Could you please check if fa854ed27242ee0e3f23351b6099f2fbb37e3144 fixes this problem? Thank you!

Yes, it works~


Show nice list of available keys

The list is filtered down while typing the name. This helps a lot when using the extension.
The code is inspired a bit by React, but it's a little crude.
I had a throttled version of setState that would not render synchronously, but that turned out to be unnecessary (for now).
A lot of different improvements now come to mind:

being able to choose a key with the arrow keys (that's what the selectedAccount state might be used for)

And thus being able to get an OTP while there are still multiple keys in the list

"locking in" a key visually when there is only one left, to show that pressing Enter now will make good things happen
showing an early error and not allowing the user to submit when there is no key left in the list
displaying the OTPs in the list already if possible
etc etc

Thanks for this contribution! Putting this on hold for now until we sorted out the API.