uv pip install fails while pip install success

uv pip install unstructured[pdf] fails with following error
error: Failed to prepare distributions
  Caused by: Failed to fetch wheel: pycrypto==2.6.1
  Caused by: Build backend failed to build wheel through `build_wheel()` with exit code: 1

pip install unstructured[pdf] success without error.
After some debugging found that issue caused by two packages unstructured-inference and pdfminer.six
Steps to Reproduce:

uv venv
.venv\Scripts\activate
uv pip install pdfminer.six unstructured-inference

It's strange that installing packages individually( uv pip install pdfminer.six; uv pip install unstructured-inference) working fine.
uv platform: Windows 11
uv version: uv 0.4.1 (823f23e22 2024-08-30)

Have you seen this behavior repeatedly?

Yes, I have tested in different windows machines.

can confirm that with uv version 0.4.6 something has changed, so that uv now wants to build pycrypto wheel (and considers it as being an explicit dependency!) but I have no deps requiring pycrypto.
Is there a way to figure out why uv wants to install a certain package?

Can you share the output with --verbose? That will tell us exactly why it's being included.

hmm good to know, I got the dependency that requires pycrypto now
And there it is indeed a direct dependency. Im just uncertain, why this dependency jose is within my project.

I think this is all reasonable behavior... The difference is that if you run uv pip install pdfminer.six, then uv pip install unstructured-inference, we end up downgrading pdfminer.six:
 - pdfminer-six==20240706
 + pdfminer-six==20231228

Whereas if you run uv pip install pdfminer.six unstructured-inference, we prefer using a more recent pdfminer.six and a less recent transitive dependency (pdfplumber). Both are completely valid resolutions.
If you specifically want to avoid using an old pdfplumber, you should add a constraint for pdfplumber>0.6 or similar. You need to give more information to the resolver if you want and are expecting a specific outcome like that.

@charliermarsh  thanks for information.


Try to  generate document.html and json with maven plugin and spring boot 1.3.0.M5

I try without any success to generate static files from swagger maven plugin.
            <plugin>
                <groupId>com.github.kongchen</groupId>
                <artifactId>swagger-maven-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <apiSources>
                        <apiSource>
                            <springmvc>true</springmvc>
                            <locations>com.web.controler</locations>
                            <schemes>http</schemes>
                            <host>localhost:8080</host>
                            <basePath>/</basePath>
                            <info>
                                <title>Swagger sample</title>
                                <version>v2</version>
                                <description>
                                    This is the Rest API Documentation
                                </description>
                                <contact>
<EMAIL_ADDRESS>                                    <name>toto</name>
                                </contact>
                            </info>
                            <templatePath>${basedir}/src/test/resources/strapdown.html.hbs</templatePath>
                            <outputPath>${basedir}/generated/document.html</outputPath>
                            <swaggerDirectory>${basedir}/generated/swagger-ui</swaggerDirectory>
                        </apiSource>
                    </apiSources>
                </configuration>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

    <dependencies>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-core</artifactId>
            <version>1.5.3</version>
        </dependency>

Document.html and json are generated but without any API detected
I have my rest controller annotated like bellow
/**
 * Handles requests for rest call.
 */
@Api(value = "/")
@RestController
public class RestController {

    @ApiOperation(value = "Load pet parent tree", notes = "notes", response = Pet .class)
    @RequestMapping(value = "/rest/tree/pet", method = RequestMethod.GET)
    public Pet loadParentsTree(
            @ApiParam(required = true, value = "petId") @PathVariable String petId
            HttpServletResponse response) {

+1

I also have the same problem, json is generated but without any API detected
I've also tryed adding
 <swaggerApiReader>com.github.kongchen.swagger.docgen.reader.SpringMvcApiReader</swaggerApiReader>
but it's also not working.
Anyone can help? :) :+1:

Ok finally I get the working example. @fabMrc  and @mrvijaytiwari  please check simple sample of working plugin with Spring MVC annotations on this fork:
https://github.com/khipis/swagger-maven-example
:cookie:

+1

Nice I am waiting to use it without swagger specific annotation (only spring mvc) is it possible ?

It seems that it doesn't work with Swagger 2? Any dependency causes that the plugin doesn't find the API. I even tried to insert the controller class content from the working example, but no success.


Cannot find module 'meteor/accounts-base'

i have been using the meteorCLI example:
https://github.com/Urigo/angular-meteor/tree/master/examples/MeteorCLI/all-in-one
i added "accounts-password" package.
it seems that its working and all are OK but i am getting this error in the  output of the "meteor" command on every restart:
=> Client modified -- refreshing[client]: ES2015 modules Compilation: 546.297ms
imports/app/app.component.ts (4, 24): Cannot find module 'meteor/accounts-base'.
[client]: TypeScript Files Compilation: 63.283ms
[client]: HTML Files Compilation: 3.367ms
[client]: SCSS Files Compilation: 190.942ms

imports/app/app.component.ts (4, 24): Cannot find module 'meteor/accounts-base'.
The server is still running & working but this error indicate some TS types issue mayb that i couldnt resolve.
app.component.ts file:
import {Component, OnInit, OnDestroy, NgZone} from '@angular/core';
import {Router, NavigationEnd, ActivatedRoute} from '@angular/router';
import {Title} from '@angular/platform-browser';
import {Accounts} from 'meteor/accounts-base'
import {Subscription} from 'rxjs';
import { MeteorObservable } from 'meteor-rxjs';
import { Tracker } from 'meteor/tracker';

@Component({
    selector: 'app',
    templateUrl: 'app.html'
})
export class AppComponent implements OnInit, OnDestroy {

    public autorunComputation: Tracker.Computation;
    public user = {
        email<EMAIL_ADDRESS>        password: '123456'
    };

    currentUser: Meteor.User;
    currentUserId: string;
    isLoggingIn: boolean;
    isLoggedIn: boolean;

    constructor(
                private zone:NgZone,
                private router: Router,
                private activatedRoute: ActivatedRoute,
                private titleService: Title) {

        this._initAutorun();
    }

    ngOnInit() {
        MeteorObservable.subscribe('userData').subscribe();
    }

    loginUser() {
        let self = this;
        Meteor.loginWithPassword(this.user.email, this.user.password, function () {
            self.currentUser = Meteor.user();
        })
    }

    logoutUser() {
        let self = this
        Meteor.logout(function () {
            self.currentUser = Meteor.user();
        });
    }

    _initAutorun(): void {
        this.autorunComputation = Tracker.autorun(() => {
            this.zone.run(() => {
                this.currentUser = Meteor.user();
                this.currentUserId = Meteor.userId();
                this.isLoggingIn = Meteor.loggingIn();
                this.isLoggedIn = !!Meteor.user();
            })
        });
    }

    ngOnDestroy() {}
}

packages.json file:
root@75a181149b29:/app/.meteor# cat packages
# Meteor packages used by this project, one per line.
# Check this file (and the other files in this directory) into your repository.
#
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.

<EMAIL_ADDRESS>           # Packages every Meteor app needs to have
<EMAIL_ADDRESS>     # Packages for a great mobile UX
<EMAIL_ADDRESS>                 # The database Meteor supports right now
<EMAIL_ADDRESS>          # Reactive variable for tracker
<EMAIL_ADDRESS>               # Meteor's client-side reactive programming librar
y

<EMAIL_ADDRESS>       # CSS minifier run for production mode
<EMAIL_ADDRESS>        # JS minifier run for production mode
#<EMAIL_ADDRESS>              # ECMAScript 5 compatibility for older browsers
#<EMAIL_ADDRESS>            # Enable ECMAScript2015+ syntax in app code
<EMAIL_ADDRESS>          # Server-side component of the `meteor shell` comm
and

<EMAIL_ADDRESS>angular-compilers
accounts-password
ecmascript
accounts-base

tsconfig.json file:
{
  "compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "baseUrl": ".",
    "declaration": false,
    "emitDecoratorMetadata": true,
    "importHelpers": true,
    "experimentalDecorators": true,
    "lib": [
      "dom",
      "es2015"
    ],
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "target": "es2015",
    "skipLibCheck": true,
    "stripInternal": true,
    "noImplicitAny": false
  },
  "include": [
    "imports/**/*.ts",
    "client/**/*.ts",
    "server/**/*.ts"
  ],
  "types": [
    "@types/meteor",
    "@types/node"
  ],
  "exclude": [
    "node_modules"
  ],
  "compileOnSave": false,
  "atom": {
    "rewriteTsconfig": false
  }
}

You shouldn't need to import accounts-base, so it is not an issue of the package;just typings are missing for that module.

oh i see, so "Accounts.createUser()" should be called from server only?

just check out meteor docs
https://docs.meteor.com/api/accounts.html

Hello @ardatan please can you be a little bit specific?
i'm facing the exact sam issue than @roeehershko and i really don't get to doc how add the missing typings.

You shouldn't need to import accounts-base, so it is not an issue of the package;just typings are missing for that module.

I am trying to use accounts-base but do not want to use accounts-password or any other. I am writing my own auth. But Accounts is unavailable as it is when accounts-password is used.
e.g.:
are server side method
Accounts._loginMethod(this, 'method', token, 'type',
() => {
// this is undefined
}


store txReciept in bugout journal

Since there will be multiple crawlers, and some of them might use same transactions, it is better to store tx_reciept in journal as cache and call web3 only if it is missing.

This supposed to be done by writing your own FunctionCallStateProvider


Rename export-clients to public-clients

Fixes https://github.com/Azure/autorest.go/issues/653

I did not see export-clients in azure-sdk-for-go itself.

Closing as this is the correct terminology for Go, plus we've since added this to the help.


Add new kubeflow/notebook repo

This PR adds the kubeflow/notebooks repo which was created as part of https://github.com/kubeflow/kubeflow/issues/7549.
The repo already exists, but we need to give the wg-notebooks-leads write access to it, and set a description.

@andreyvelich @james-jwu @zijianjoy can we please merge this as soon as possible so we can start the process of migrating?

/lgtm
/approve

@james-jwu I think this only partially applied, because the description of the repo has not changed.
See the top right of https://github.com/kubeflow/notebooks, it should be:
Kubeflow Notebooks lets you run web-based development environments on your Kubernetes cluster by running them inside Pods.

@james-jwu I think this only partially applied, because the description of the repo has not changed.
See the top right of https://github.com/kubeflow/notebooks, it should be:
Kubeflow Notebooks lets you run web-based development environments on your Kubernetes cluster by running them inside Pods.

I manually updated the description.


Use code style for filenames, directories, and paths

avoid-latin-phrases

This change is

Personally speaking, it is widely existed in docs of k8s.
So I think it is not necessary to update.

@chenhonggc @zhangxiaoyu-zidif @markthink Having a steady stream of these small PRs is overwhelming us. We are aware that there are many inconsistencies and typos in the docs, and we will get to them as time permits. If you see a trend that needs to be fixed, open an issue, not a PR. Thank you.

@steveperry-53  要得， Thank you.


[CT-2113] [Bug] Corrupted data load from GCP-hosted MySQL DB

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[x] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
Hello,
we've been experiencing issues with dbt's ingestion from our prod replica DB for a while now - we use EXTERNAL_QUERY command. The issue is quite simple

Data gets loaded from our GCP-hosted MySQL DB
One or two rows is loaded incorrectly/corrupted, e.g. is_bool_column gets loaded as null instead of 0/1
We perform group by on the column within our dbt transformations
❌ we get a duplicated record for an order/retailer/... ❌

Solution attempts
This does not happen all the time, only sometimes. And I have no idea why and when. I thought it could be limited resources on the side of the DB but it did not go away after increasing both available RAM and CPU resources for the replica DB.
Extra info
We have this problem for a while now (first time I saw it was July/August) but the frequency used to be much lower and I wasn't able to diagnose it. When the duplicate disappears after an hour you don't care that much.
Another observation I have is how much we use dbt - in the last several months more data analysts in our company became heavy users and the frequency of this bug seems to have increased. Though I'm not certain, it could just be that more runs -> more failures -> higher visibility.
I would appreciate any help with this issue - mostly I don't know where to start so if I can provide any extra information/logs, please, let me know.
Cheers,
Stepan
Expected Behavior
We expect to have same data as are in replica prod DB
Steps To Reproduce
Honestly no idea, I cannot reproduce it. Sometimes the bug persists for half a day sometimes it disappears after the next run.
I have a suspicion that there could be some dbt/GCP caching that sometimes makes the bug persistent but it's just a wild guess
Relevant log output
No response
Environment
- OS: dbt Cloud jobs - CI and hourly-export jobs
- Python: X
- dbt: 1.2 (happened also on 1.1)

Which database adapter are you using with dbt?
bigquery
Additional Context
No response

Thanks for reaching out @lafet1 !
If I were forced to make a guesses, one suspicion would be that the root cause is somewhere within (or hidden behind!) the EXTERNAL_QUERY.
This description makes me wonder if BigQuery is doing some sort of SAFE_CAST() behind the scenes:

is_bool_column gets loaded as null instead of 0/1

Which materialization are using on the dbt side? Are you seeing this issue when using a dbt snapshot or dbt incremental model? Or is it just a table or view materialization in dbt?
Ideas for troubleshooting steps
Idea 0
If you haven't already, I'd suggest sharing your problem with other practitioners on Discourse or Slack -- they might have some good insights:

dbt Community Forum on Discourse
dbt Community on Slack

Idea 1
When this issue happens, take a look at the data types of each of your columns. Maybe there's some kind of type inference going on that is inferring a different data type than you expect.
Idea 2
Since my guess is that this is an EXTERNAL_QUERY rather than a dbt issue, you could try to replicate it outside of dbt. i.e., find the relevant SQL within your target/run/ folder or view the compiled code using the Preview button in dbt Cloud.
Once you have that SQL in hand, you can run it outside of dbt within the BigQuery console, for example. Then you can look for what might be causing the unexpected null values.
Idea 3
Is is_bool_column ever allowed to be null on the dbt side of things? If not, then here's some ideas to add to your dbt project:

Add not_null tests to the applicable models
Use --store-failures so you can more easily examine them afterwards

If you use the dbt build command to interweave model building and running tests, the test will fail early enough to prevent the duplicated record for an order/retailer/etc. You'll still get a failed build, but at least you won't need to do cleanup of downstream duplicates.
Next steps
I'm guessing this isn't a bug in dbt Core and something specific to the details of your MySQL database + BigQuery + dbt project setup. I could be wrong though! I'm going to transfer this issue to dbt-bigquery in the meantime -- we can transfer it back to dbt-core if needed.


$XBARDarkMode doesn't follow the color of the status bar in 'Auto' appearance option

Problem description
I'm trying to use the value of $XBARDarkMode to select colors for menus to be on par with macOS color mode at all times.
However sometimes my appearance shows a Light status bar color (white) but $XBARDarkMode has value true
Reproducible script
#!/bin/bash
echo "dark mode = " $XBARDarkMode

Result
Screenshot:

As you can see, the variable is set to true even though the status bar is white (i.e. light mode)
This behavior is maybe not an xbar problem but more of a macOS problem
The command
defaults read -g AppleInterfaceStyle

is supposed to return the active status of the appearance mode. Stackoverflow source.
However when in Auto mode (that is, when the OS switches modes given the hour of the day, as seen on this official Apple documentation) the variable seems to be always set to Dark
The results can be compiled in the following table:

Selected mode in the pref panel GUI
AppleInterfaceStyle output
$XBARDarkMode value

Light mode
2021-03-15 18:06:14.496 defaults[7806:263599] The domain/default pair of (kCFPreferencesAnyApplication, AppleInterfaceStyle) does not exist
false

Dark mode
Dark
true

Auto mode
Dark at all times, even if the status bar is white
true

My config
macOS 10.15.7
xbar 2.0.27-beta17

@ggrelet Thanks for that great report. Very interesting stuff. @leaanthony I don't suppose there's another, more deterministic, way of getting the light/dark mode status?

We're currently keying off the change event. Will check it out.

@leaanthony What do you think we can do about this? Is it just a quirk of macOS that we have to live with?

Closing because I don't think there's anything we can do about this for now.


addShape(...rectangle,{..}) gives an invalid shape error...

If I code
slide.addShape(pptx.ShapeType.hexagon, {x:0.5, y:0.8, w:1.5, h:3.0, fill:'FF0000'});
then everything works as expected
But, if I use
slide.addShape(pptx.ShapeType.rectangle, {x:0.5, y:0.8, w:1.5, h:3.0, fill:'FF0000'});
I get:
pptxgen.min.js:2 Uncaught Error: Missing/Invalid shape parameter! Example:          'addShape(pptx.shapes.LINE, {x:1, y:1, w:1, h:1});'          at Fe (pptxgen.min.js:2)         at Oe.addShape (pptxgen.min.js:2)         at ppt.html:19
using <script<EMAIL_ADDRESS>to get the current library

looking in source, rect is an acceptable shape name, but rectangle (from the examples) isn't (not sure if you want to address as a doc fix or add rectangle as a synonym?)

Thanks @Offbeatmammal
Documentation was recently updated to use rect


fix disk modal pre-allocation docs link

📝 Description
The doc link of the pre-allocation section will lead to a 404 inside the console instead of being an external link
🎥 Demo

Please add a video or an image of the behavior/changes

/lgtm


Added backup xcarchive action

Hello there,
I created a new action for zipping and exporting a xcarchive.
This can be used this way
desc "Deploy a new AppStore build"
lane :appstore do

  raise "Please specify BTSYNC_FOLDER inside `.env` file before run this lane again".red unless ENV['BTSYNC_FOLDER']

  cocoapods

  xcarchive(
    scheme: "Studio Prod",
    configuration: "ProdRelease",
    sdk: "iphoneos"
    )

  # Save archive to BTSync folder
  backup_xcarchive(
    destination: "#{ENV['BTSYNC_FOLDER']}/iOS Studio",
    zip: true
    )

  deliver :skip_deploy

end

This looks great, thanks @dral3x.
The tests are failing though:
     Failure/Error: action.is_supported?(nil) # this will raise an exception if the method is not implemented
     RuntimeError:
       Implementing `is_supported?` for all actions is mandatory. Please update Fastlane::Actions::BackupXcarchiveAction
     # ./lib/fastlane/action.rb:52:in `is_supported?'
     # ./spec/actions_list_spec.rb:25:in `block (5 levels) in <top (required)>'

Please implement it as:
def self.is_supported?(platform)
  [:ios, :mac].include?platform
end

as it's only relevant for iOS and Mac.
Also, could you added one or two tests testing the basic functionality?

My bad. I lost some new stuff from fastlane.
I will add is_supported and some tests. Thanks!

Added a couple of tests

Looks great, thank you so much @dral3x :+1:


Remove submitFocusError API

Hey @barrymay  @stramel,
Quick question: your guys' thought over:
Remove submitFocusError and change to focus as an option for useForm
focus: {
  onSubmitError: false, // focus on the error input on submit
  onInputMount: false, // auto focus when first input mount
}

Hi @bluebill1049  - it's a good question - and I'll welcome @stramel 's feedback as well.
I think submitFocusError makes sense, but what about letting the focus be based on an event when launched?  I personally think this change is not that needed, since the focusing should be part of the React component, and the form controlling it is overkill to me.

Yea thanks @barrymay I did consider that u can do ‘autofocus’ urself on the input.
I was thinking situation when u re-order the inputs, it will auto focus the first input. But I do agree with you and will leave this unchanged.

Cool - I think if someone reorder's their inputs, they can feel free to be responsible to fix their own bug.  ;)
Best thing you can do for anyone here is to have the example of how to focus within one of the site examples, and they can just follow your example.

sounds good to me @barrymay


Roundtrip validation on unpack failed.

Describe the bug
The following error was output twice while trying to unpack a CanvasApps msapp file.
Error   PA3011: Roundtrip validation on unpack failed. This is always a bug, please file an issue at https://github.com/microsoft/PowerApps-Language-Tooling
Reproduced using PAC CLI Version: 1.13.4+g79187cf
To Reproduce
Steps to reproduce the behavior:

Unpacking
pac canvas unpack --sources folder --msapp app.msapp

The file did unpack but resulted in the above error.
Screenshots

Additional context
The .msapp is part of a Dataverse solution and was exported using "pac solution export" and "pac solution unpack" commands. The .msapp inside the CanvasApp folder was unpacked using "pac canvas unpack" command

@jansonjc can you mail me your msapp as a repo, at nthekkumpat at microsoft dot com?

I can confirm this also happens to my team.
Our app uses both pcf code components and components stored on a custom component library
Switching back to version 1.12.2 allows us to extract the canvas app

@jansonjc If you're still experiencing roundtrip errors:
We've updated the error message to be much more descriptive. If you run pac install latest, and then try again, you will get updated error messages. Please post the new ones in a new GitHub issue. We appreciate your time to file these bugs and we also appreciate your patience!

Hey, @jjaramillo! The issue that you've mentioned seems to pertain more to #372. We're closing this issue, but please feel free to track your issue there as that ticket will still be open. Thank you for your time and patience!

Apparently the issue was being triggered because there was an empty test suite on the app's tests. Once we fixed that everything went fine


Issues after combing through injectors.py after merge.

@jasonfan1997:

Remove inject_nsignal_events() from both injectors. To have this functionality, instead add an optional parameter n_signal_observed to inject_signal_events.
Remove set_position() in TimeDependentPsInjector these values can be directly changed by altering the source dict.
reduced_sim(), inject_background_events(), and inject_signal_events() in TimeDependentPsInjector all need the same signature as in PsInjector
No need for inject_background_events_No_time() in TimeDependentPsInjector. Please remove.
There are multiple attributes in TimeDependentPsInjector defined outside of __init__(). This should not happen.
set_background_profile() should instead be done using the @property decorator. The docstring for this should also have "Raises: " lines.
set_signal_profile() should be removed.
Does inject_background_and_signal() do anything that injecting them separately would not? If not, please remove. If so, please explain.
Docstrings in TimeDependentPsInjector need to be completed

I would rather keep it separate, the only real meaning of inject_nsignal_events() is to do the ns bias tested that I am doing and in theory it can be removed later when we finish testing. Having that inject_signal_events both confuse user plus they shouldn't use it at all.

Will do that.
3.Will fix

Will do

Will fix

I don't think making it into property is a good idea. The background profile consists of something else besides the time_profile object. It basically adds much more complication to it.

Will do.

Will remove. Exist only for testing.

Will do

I rethink and I think we can merge the inject nsignal event as I probably want to keep it for unit tests (maybe?)


Cleanup singular team references

Fixed up and cleaned up the components and partials that broke when we allowed sloths to be part of multiple teams.

I defaulted to using team.slug, because of the incredibly long team names that we allow. You're probably right though that for most teams this won't be a problem.


Update Makefile targets for consistency

Description
Update Makefile targets for consistency
Fixes #226

Rename the install target to kind-deploy
Remove uninstall target
Rename the kind-cluster-cleanup target to kind-clean
Remove the generate target from kind-deploy
Swap e2e/test-e2e targets
Update help descriptions
Add help-extended,
Change e2e workflow to use test-e2e

Reviewer Checklist

[ ] API Go Documentation
[ ] Tests: Unit Tests (and E2E Tests, if appropriate)
[ ] Comprehensive Commit Messages
[ ] Links to related GitHub Issue(s)

I embrace the thesis of this PR, but IMHO the difference between two-hashes and three-hashes is too subtle to avoid confusion.

I believe the file separator for awk is arbitrary. Could we change to something like #extended or something which more intuitively indicates the distinction from ##?

#HELP
#EXHELP
#SECTION

/approve
/lgtm


⚠ Jenkins Plugins Artifactory has degraded performance

In 5312351, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1136 ms

Resolved: Jenkins Plugins Artifactory performance has improved in b441d8e after 3 hours, 57 minutes.


Add haproxy installation support for openSuSE

Support for SuSE based systems like OpenSUSE/SLES is added  that can install haproxy package via its own pkg manager zypper . SuSE based can be detected by existence of /etc/SuSE-release file .

thanks! just one open question.

sorry, fixed it now. thanks for pointing out :)

Thanks for fixing that @hayderimran7! Can you remove the extra space as well? Thx.

@hayderimran7 Thanks for this PR!

Have you tested this on Suse?
Please squash this PR and I will merge.

@aquamatthias 1) yes tested on my opensuse 13.2 system.
2) all commits squashed to one and updated.

Hey @hayderimran7 thanks for the effort!


Add sort filter

for my templates, I ran into issues, where the order of the variables was not always the same for different calls.
This filter allows to order them:
example usage:
    {% for variable in protocol.allVariables|sorted:"name" %}
      {{ variable.name }}: {{ variable.typeName }}{% if not forloop.last %},{% endif %}
    {% endfor %}

          1 Error

:no_entry_sign:
Any changes to library code need a summary in the Changelog.

  Generated by :no_entry_sign: Danger

Thanks for contributing!

@krzysztofzablocki @Lutzifer maybe having two different filters for ascending and descending sorting would be more flexible?

@ilyapuchka good idea

@Lutzifer would you like to submit a pr for that too?

let's just add sortedDescending, as I would assume that ascending is the default


Other OS support

Hello @AustinScola!
I know that your project currently supports only Ubuntu (as issue #13 says) so this issue should be marked as enhancement. However, if you're planning on adding Windows support (which I'm personally really looking forward), here is my small research.
Seems like PR #21 adds an ability to run your add-on on macOS. I tweaked frepond's fork to support Windows. Predictably, it doesn't work because of Unix sockets. So one way is to implement sockets part differently.
Another suggestion I have is to add an ability to run over an existing MongoDB installation or MongoDB docker container. It might be configured with setup.cfg near to pytest itself.
Anyway, I'm leaving this decision up to you. Let me know if I can help with code.

Hey @aleksul, you are correct that pytest-motor only supports Ubuntu at the moment and that MacOS support is in the process of being added. I didn't have any plans to add Windows support in the near future, but I would be more than happy to work with you or others on adding it if you desire. (I don't have a Windows machine to test on though.)
My first thought for support would be to use a random port instead. I know that aiohttp has a method pytest_aiohttp.aiohttp_unused_port for finding a random port. We could look at how that is implemented for reference.
I like the sound of using an existing installation or MongoDB docker container as well too. Those both sound like longer term efforts though.

Ok, so it sounds like firstly we need to resolve #17. I will create PR asap.


Issue

i have this issue idk its because that the python version is 2.7 ?
and how i can run this tool on another version of py ? i have 2.7 , 3.4 , 3.5 , 3.6
excuse my english :s

currently only supported with python3.6 , 3.4 , you need to upgrade to v2.0.0 with
$ sudo pip3 install instagram-py # install
$ sudo pip3 install instagram-py --upgrade # update!


Using isOptional instead of the deprecated hasOptionalKeyword

Problem:
hasOptionalKeyword has been deprecated due to which protobuf null handling was also not working correctly.
PR that marked it deprecated
https://github.com/protocolbuffers/protobuf/commit/d6157f7c7ec78a6942cfd6d96d2e0b40e007ae0d
We use isOptional() instead that checks only the field LABEL
 /** Is this field declared optional? */     public boolean isOptional() {       return proto.getLabel() == FieldDescriptorProto.Label.LABEL_OPTIONAL;     }
Reference - https://github.com/protocolbuffers/protobuf/blob/d6157f7c7ec78a6942cfd6d96d2e0b40e007ae0d/java/core/src/main/java/com/google/protobuf/Descriptors.java
Test:
Ingested Kafka protobuf stream that has defaults and verified that they are treated as nulls through query (attached image)

Note: Proto3 treats the field as optional, when the value is set to its default (issue)
How to use optional field - https://protobuf.dev/programming-guides/proto3/

Codecov Report

Merging #11682 (644e59b) into master (46b0c46) will decrease coverage by 48.57%.
Report is 1 commits behind head on master.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master   #11682       +/-   ##
=============================================
- Coverage     63.05%   14.48%   -48.57%
+ Complexity     1120      201      -919
=============================================
  Files          2343     2343
  Lines        125698   125665       -33
  Branches      19310    19312        +2
=============================================
- Hits          79256    18203    -61053
- Misses        40789   105921    +65132
+ Partials       5653     1541     -4112

Flag
Coverage Δ

integration
<0.01% <0.00%> (ø)

integration1
<0.01% <0.00%> (ø)

integration2
0.00% <0.00%> (ø)

java-11
14.45% <0.00%> (-48.57%)
:arrow_down:

java-17
14.45% <0.00%> (+<0.01%)
:arrow_up:

java-20
14.47% <0.00%> (-48.45%)
:arrow_down:

temurin
14.48% <0.00%> (-48.57%)
:arrow_down:

unittests
14.48% <0.00%> (-48.57%)
:arrow_down:

unittests1
?

unittests2
14.48% <0.00%> (+0.02%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

.../inputformat/protobuf/ProtoBufRecordExtractor.java
79.34% <0.00%> (-1.09%)
:arrow_down:

... and 1517 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I'm not an expert in protobuf. Reading about this, it seems to be a common issue to map nulls in proto3. I would say that proto3 designers expected to use oneof instead of optional to map null values. That is the protobuf equivalent to @Nullable T vs Optional<T> in Java.
I assume we cannot decide to use oneof because this is something the customers decide, right?
For the context, I think https://github.com/protocolbuffers/protobuf/blob/main/docs/field_presence.md and https://github.com/protocolbuffers/protobuf/blob/main/docs/implementing_proto3_presence.md are very useful to understand the problem.

I'm not an expert in protobuf. Reading about this, it seems to be a common issue to map nulls in proto3. I would say that proto3 designers expected to use oneof instead of optional to map null values. That is the protobuf equivalent to @Nullable T vs Optional<T> in Java.
I assume we cannot decide to use oneof because this is something the customers decide, right?
For the context, I think https://github.com/protocolbuffers/protobuf/blob/main/docs/field_presence.md and https://github.com/protocolbuffers/protobuf/blob/main/docs/implementing_proto3_presence.md are very useful to understand the problem.

We discussed offline. The conclusion is that we go with the proto3 behavior, where addition of 'optional' keyword, helps do the presence check and we can keep the explicitly assigned default. Otherwise a field that has default value explicitly assigned, will fail the presence check and we will treat as null.
https://protobuf.dev/programming-guides/proto3/

Reminder: We need to add tests that make it clear that we are able to read a null when the field has bean cleaned and the default value when it was set to the default value.

Reminder: We need to add tests that make it clear that we are able to read a null when the field has bean cleaned and the default value when it was set to the default value.

Yes, those tests need to be added asap or we will never get them added.


Crashed when startin a besige

When starting a besiege it crashes. I did besiege on other occasions, but now it's not working for some reason. This is the only mod I have and if I try the exact same action without the mod works ok, and if I save after I started the besiege, save, exit, enable the mod and then load the save, it crashes when loading.
Here is the video: https://github.com/Norbivar/RTSCamera/assets/49596341/e36d9892-e3ea-4020-b9b4-b8c272a5938f
Save:
saveauto2.zip
Versions:

If I enter a battle with another party, it gives an error when I select the Free camera option, but I can pause it without a problem.

Mate, you are running probably the beta branch version on the live bannerlord. If you get it from the steam workshop, it is for (most of the time) the LATEST beta branch.
You can try the 1.1.5 release from here, that is more likely to work.

It could be, but how can I use that version? I didn't saw any other RTS Camera from you:

You can try the 1.1.2 one from here
https://github.com/Norbivar/RTSCamera/releases
If that also crashes, let me know and I'll take a look at uploading a proper one. :)

I removed the Steam version and manually copied the release that you provided and this error appeared when loading the game that was crashing:

Here is the file:

You might need to unblock the DLLs.

Can you please detail how that can be done so I can test it?

That did the trick to prevent the lock error, but I am still having again "besiege" error:

Can I provide you with any further details?

Sorry, my mistake, now it works with this version

So does it seem to work now?

Yes, with the previous version it works


pumpify messes with browser duplex

Hey,
I just figured that when I require pumpify in my code, the Duplex stream is not working anymore.
So if I do
var pumpify = require('pumpify') // without this line it works
var Duplex = require('stream').Duplex
new Duplex()

and run this in the browser or in testling with browserify temp.js | testling, I get
not ok 1 Error: TypeError: 'undefined' is not a function (evaluating 'this.once('end', onend)') on line 7182

The line that throws the error looks like this:  this.once('end', onend);.
Best,
Finn

This is because of a race condition inregards to circular dependencies and the stream module in old versions of browserify. Should be fixed in later versions.


Make a 2-level menu or a vertical menu for the admin application

The number of menu items in the admin app is too big, where we want to add new ones as well:

We might go for a vertical menu, or for a 2-level menu to allow for new menu items.

If we make the menu hierarchical, the hierarchy would look as follows:

Generic (Language, Parameters)
Game definition (Scenario, Welfare, Measure, MovingReason, Community, House, News, Question)
Game play (User, GameSession, Group, Play, QuestionScore, HouseMeasure)

We could do this as a 2-line menu-with-submenu, but then it would also be possible to group the current items a bit differently, and also use 2 lines...

The menu, therefore, now looks like this:

After some reshuffling, it now looks as follows:

Two-line menu completed and tested.


Changed copyrights license from 2015 to 2016

Automated message from Dropbox CLA bot
@Aahanbhatt, thanks for the pull request! It looks like you haven't yet signed the Dropbox CLA. Please sign it here.

Thanks for the contribution @Aahanbhatt!  Since we needed to change this in all the places, I've merged this as 5a065503cbf1ae0b910a29e753bf7f217e14cf62.


(#149) fix can't infer list type issue

Codecov Report

Merging #151 into master will increase coverage by 3.85%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #151      +/-   ##
==========================================
+ Coverage   59.55%   63.41%   +3.85%
==========================================
  Files          11       12       +1
  Lines        1318     1547     +229
==========================================
+ Hits          785      981     +196
- Misses        429      469      +40
+ Partials      104       97       -7

Impacted Files
Coverage Δ

src/irutil/irutil.go
60% <0%> (ø)

src/elz/codegen/codegen.go
65.47% <0%> (+1.58%)
:arrow_up:

src/elz/lexer/lexer.go
90.17% <0%> (+1.81%)
:arrow_up:

src/elz/codegen/binding.go
80.8% <0%> (+3.32%)
:arrow_up:

src/elz/codegen/module.go
25.69% <0%> (+5.09%)
:arrow_up:

src/elz/parser/parser.go
72.43% <0%> (+7.79%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4c2bc5f...1f01fe5. Read the comment docs.


Add msw and Vitest globalSetup default/conventional paths to coverage exclude defaults

Clear and concise description of the problem
It is not uncommon to use msw and Vitest/Jest together (for good reasons, Vitest and msw are both ❤). Would you be open to excluding **/mockServiceWorker.js from the default coverage files?
Same question about: globalSetup: "./vitest.globalSetup.ts", would **/vitest.globalSetup.(c|m)[jt]s be a good default to include?
Suggested solution
I am happy to open a PR / PRs to add those if you think this is a reasonable addition.
Alternative
A the moment, we are excluding these with:
exclude: [
  ...coverageConfigDefaults.exclude,
  "public/mockServiceWorker.js",
  "vitest.globalSetup.ts",
],

which of course is absolutely fine, but I wanted to check with y'all if this is something that would be beneficial to the community :)
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Hey @astorije - I understand your point but unfortunately we are not accepting new values into coverage.exclude. See https://github.com/vitest-dev/vitest/issues/6956 for reasoning.

Yes

From: Ari Perkkiö @.>
Sent: Saturday, November 23, 2024 8:49 AM
To: vitest-dev/vitest @.>
Cc: Subscribed @.***>
Subject: Re: [vitest-dev/vitest] Add msw and Vitest globalSetup default/conventional paths to coverage exclude defaults (Issue #6947)
Hey @astorijehttps://github.com/astorije - I understand your point but unfortunately we are not accepting new values into coverage.exclude. See #6956https://github.com/vitest-dev/vitest/issues/6956 for reasoning.
—
Reply to this email directly, view it on GitHubhttps://github.com/vitest-dev/vitest/issues/6947#issuecomment-2495404115, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BF53BVABKMOH2AI23HZB37D2CA6QDAVCNFSM6AAAAABSICXTBWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJVGQYDIMJRGU.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


Lock as Assistant app

Thanks for your Lock app.
At the moment I have to switch to the home screen, where I can tap the Lock app to lock my phone. I would love to do it with a double tap onto the home button.
If this app becomes an assistant app, I would be able to set it in Settings > Apps > Advanced > Default apps > Assist & voice input.

Thanks for using it and thanks for this nice idea! I've never done something similar so I'll need to research a little bit. Please share any link that could help me :)

Hi,
I found that adding this to the manifest:
<intent-filter>
    <action android:name="android.intent.action.ASSIST" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

makes long-press call my activity's onCreate. This could be enough for our purposes but I don't understand why onProvideAssistContent isn't called.

Thanks @seguri. That's great. I hope it makes it into F-Droid quickly, because I can't wait to test it!

Do you know when this app will make its way into F-Droid?

I've checked and the build failed. I've never seen this happen, I'm asking on irc

Version 1.3.1 is online!

Thanks!!!! Works brilliantly!


Adding postfix and outgoing_mail configurations

Hi, this fixes https://github.com/harvard-dce/canvas-docker/issues/7!

Allow outgoing email via smtp implemented in #9.


Request: Support zone aware routing for CDS-only clusters

Title: Support zone aware routing for CDS-only clusters
Description:
Right now, in order to set local_cluster_name and enable zone aware routing, the matching local cluster needs to be statically defined at bootstrap. It would be preferable if this information could be sourced from CDS when available.
Relevant Links:
https://groups.google.com/forum/#!topic/envoy-users/x4Vo3scNeo0
https://groups.google.com/forum/#!topic/envoy-users/dGbaMNGKQS4

cc @liamawhite

I'm interested in picking this up @mattklein123 . We have some teams that are interested in using this in Istio. Can you post on what the edge cases are that were mentioned in the mailing lists from your perspective?
cc @linsun

@cmluciano unfortunately this is going to be really thorny to fix and will require a bunch of thinking. I would honestly have to set down for a focused effort to help come up with a plan.
The issues basically stems from the fact that as has already been mentioned the local cluster is assumed to be statically defined and exist at startup. You can start to follow the code threads here:
https://github.com/envoyproxy/envoy/blob/master/source/common/upstream/cluster_manager_impl.cc#L637
Changing the code to lazily load this in from CDS will be quite complicated, and further, if the local cluster can be removed from CDS, removal notifications will need to be handled by all of the read local load balancers which depend on it. (@nt just added some callbacks that might help here).
This has come up several times in the context of error checking around gRPC clients and other places, but I honestly wonder whether we should introduce the concept of a "locked" CDS cluster. A "locked" cluster is a cluster that when delivered via CDS in the initial startup load can never be removed. I think if we made this assumption, a lot of things would get simpler. (It also wouldn't be that hard to change CM init to wait for the initial CDS load before initialing the local cluster on all threads).
Anyway, I don't have any other thoughts on this right now without carving out some dedicated time. Maybe you want to dig in a bit and we can chat?
Also cc @alyssawilk and @htuch who have worked in this area.

I would like to be able to load the local_cluster via CDS, as well; however, if I were able to simply provide the Cluster configuration via the command line option --config-yaml, that would also be extremely helpful.
It is my understanding that any configuration passed through config YAML would be merged with the config file. Unfortunately, when I pass something like this:
--config-yaml "
      cluster_manager:
        local_cluster_name: svc_a
      static_resources:
        clusters:
        - name: svc_a
          connect_timeout: 1s
          type: EDS
          eds_cluster_config:
            eds_config:
              api_config_source:
                api_type: GRPC
                grpc_services:
                  envoy_grpc:
                    cluster_name: xds_cluster

Envoy will throw: "local cluster 'svc_a' must be defined. Is this the correct behavior? I would expect the config merging to happen prior to the local cluster validation.


where to find openjfx-15-ea+gvm22-linux-x86_64-static.zip ?

[Mon Jun 19 23:35:54 CDT 2023][INFO] We will now compile your code for x86_64-linux-linux. This may take some time.
[Mon Jun 19 23:35:54 CDT 2023][INFO] Downloading JavaFX static libs...
[Mon Jun 19 23:35:54 CDT 2023][SEVERE] Downloading failed: Server returned HTTP response code: 403 for URL: https://download2.gluonhq.com/substrate/javafxstaticsdk/openjfx-15-ea+gvm22-linux-x86_64-static.zip
Check the log files under /home/crow/git/arb4j/target/client/x86_64-linux/gvm/log
And please check https://docs.gluonhq.com/client/ for more information.
java.lang.RuntimeException: Error downloading zips: Error: /home/crow/.gluon/substrate/openjfx-15-ea+gvm22-linux-x86_64-static.zip does not exist

nevermind i found it at https://github.com/graalvm/graalvm-ce-builds/releases/


Issue in saving and retaining px-data-table column sort property

Hi,
We have a usecase where we need to sort the px-data-table column and save the sorted state, so that next time or after reload when the application loads it should display the same sorted data using px-data-table without any further clicks.
Currently we found within px-data-table-column we can use sortable sort-function-name for custom sort but does not retain the last sorted state after reload and need to mandatory click on column again for sorting.
So is there any property which holds the column sort property or any other way to do the same without clicking the column?

No, px-data-table doesn't currently have a way of loading with a sort state applied. The default behavior is just to display the data in whatever order you pass it in the table-data property.

Hi,
Is the team planning to support the ability to load with a sort state applied.

Closing due to age and release of https://www.predix-ui.com/#/elements/data-grid/px-data-grid


Use the @actions/http-client and @actions/github modules for proxy support

Fixes #112
Closes #128
Closes #111
Closes #106
Shout out to @daleyjem / @jeremy-daley-kr for reporting the issue, proposing a PR, discussing approaches, and hopefully also being up for testing this branch out...? 😁🤞🏻🙏🏻
TODO:

[x] Update the unit tests to get them passing
[x] Manual regression testing

🔐 See logs for https://github.com/paper-spa/starter-test-gatsby/actions/runs/4350617722/jobs/7601515477

@jeremy-daley-kr If you could verify the needed proxy support with this branch, that would be amazing! ❤
        uses: actions/deploy-pages@actions-http-client

@JamesMGreene I'm getting this when I target your branch...

Error: TypeError: octokit.rest.repos.createPagesDeployment is not a function

@jeremy-daley-kr Ah, my bad. 🤦🏻♂  I've updated to use octokit.request like you suggested, so please feel free to give it another try when you get a chance.

@JamesMGreene Definitely getting there, but now I've got this:

I think the page itself deployed. Maybe some optional chaining would get me further along to fill you in with more details?

Thanks for the feedback, @jeremy-daley-kr! Sorry it didn't go smoothly. 😖
I'll find some time to do further testing on our side before I ask you to check again. 😅

No worries, man. I appreciate you sticking with it. I realize it's a bit harder to test if not behind a proxy yourself. If Github had a way of pairing, I'd just as soon do that.
All I need to do at this point is just re-run the failed job since it pulls the latest from your branch, so just let me know.

@jeremy-daley-kr Can you give this another try? I think I've worked out the kinks now. 🤞🏻 😅

@jeremy-daley-kr Can you give this another try? I think I've worked out the kinks now. 🤞🏻 😅

All Green on my end! Boom! 🤜💥🤛

Awwwwwesome! 🎉
I'll work out the last few issues that my teammates have called out and try to get this shipped later today. 🚀

Was able to use this branch to successfully deploy all of our Pages starter workflow regression testing repos. 👍🏻

Published as part of the v1.2.5 release! 🚀
Any of the following uses statements should work:
uses: actions/deploy-pages@v1
uses<EMAIL_ADDRESS>uses: actions/deploy-pages@497da40f5225e762159b457c9ae5d6f75a136f5c


runtime(netrw): Change line on mx if command output exists

On external command execution by mx shortcut,
the command output is printed right after user input.

Shouldn't it change line?
How to Repro
" Open NetRW
:e ./

" Select some file in NetRW
mf

" Execute a command for the selected files
mx
file
" Then, the output of external command `file` follows this user input without line change.

thanks. Let me also get rid of the trailing newline

Thank you for merging and fixing!


Fix Error when going back will save steps from different branchs

Objective
Fix when user go back in the middle of branch XX and change his/her answers to branch YY, taskResult will hold the answers of the discarded branch
How to Test
Fix when user went back back back back back from branch Y .... all the way back to the branch decision and changed the response to now go to branch X. He then hit next/skip etc to complete branch X and finally the review step had all the branch Y+branch X steps...

It works, but I found a bug with it:
Notice in this how After Branch Step 2 comes before Branch "B" step 1 and 2. I was in Branch "A", reached review step. Hit back until I reach "Branching Decision". Changed that to "B", and hit next/skip until I reached the Review Step.
As you can see in the following image, the After Branch step2 is somehow ahead in the list...

tap here to expand


graceful-fs doesn't use node module location from .yarnrc

Title says it all, installing node modules anywhere but the project directory makes graceful-fs crash

Repro case, please.


Incorrect link in the README

TL;DR
The link here does not work correctly:
Goes to https://legitify.dev/policies.html.
Expected behavior
Links should work 😉
Observed behavior
Error
Version
README
On which operating system are you using legitify?
Other (please elaborate in the description)
Relevant log output
GitHub UI

Additional information
No response

Indeed links should work :) Thanks!

Thanks for fixing that!


Replicate OPT-125M BabyLM benchmark

BabyLM provides 'naive' benchmarks — OPT-125M is the closest model to the template that I have setup, which is based on [nanoGPT][https://github.com/karpathy/nanoGPT/tree/master] by Andrej Karpathy. A good first step is to see if we can replicate the OPT-125M benchmark with the template and workflow we have. The nanoGPT template should enable us to go as low level as we need to.
Sub-tasks:

[x] Tokenization should be implemented in pipeline. Perhaps tokenize data and save?
[x] Set up logging with wandb to track everything while training.
[x] Reproduce GPT2 (124M) architecture and optimize for training resources that we do have.
[x] Benchmark on Strict-small
[x] Benchmark on Strict

Kind of replicated - keep pretraining to exactly replicate the benchmarks.

Kind of replicated - keep pretraining to exactly replicate the benchmarks.


Wrong matched text highlighted in pum with 'rightleft'

Problem:  Wrong matched text highlighted in pum with 'rightleft'.
Solution: Match using the original text instead of the reversed text.

thanks!


fix issue with first_published_at causing migrations

:+1: looks good to me...

:+1: thanks milton, we'll still need to find a way to do this though.

Except travis is failing?

flake8 err


osmdroid overlay server requests burst up

Issue Type

[x] Question

Description and/or steps/code to reproduce the problem
I'm using a MapView with regular invalidation and this is the web traffic record.

It seems a cache does no work. I thought the server's time and the expires header value could be a problem.

Is this problem affected only to me?
Environment
Emulator, Android API 27
If it's a bug, version(s) of android this affects:
Not sure
Version of osmdroid the issue relates to:
6.0.2

@jeiea What do you mean by "regular invalidation"? Something like View.invalidate?
Do you use the CacheManager (bulk download), or do you just pan the map (or even just do nothing)?
I'm not familiar with your web traffic record: what's the typical time gap between 2 records? Less than a second?
What tile providers do you use - can you share your code specifically on that topic?
Given the header values, the tiles will ask for a refresh every 2 days.

@monsieurtanuki First here is the sample code.
package com.github.jeiea.justosmdroid

import android.os.Bundle
import android.preference.PreferenceManager
import android.support.v7.app.AppCompatActivity
import org.osmdroid.config.Configuration
import org.osmdroid.tileprovider.tilesource.TileSourceFactory
import org.osmdroid.views.MapView

class MainActivity : AppCompatActivity() {

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    val ctx = applicationContext
    val default = PreferenceManager.getDefaultSharedPreferences(ctx)
    Configuration.getInstance().load(ctx, default)

    setContentView(R.layout.activity_main)
    val map = findViewById<MapView>(R.id.map)
    map.setTileSource(TileSourceFactory.BASE_OVERLAY_NL)
    map.controller.setZoom(3.0)
  }
}

activity_main.xml contains just a simple MapView. It seems invalidation has no relation.
I used fiddler2 software, and unfortunately it doesn't provide time column feature. But the time gap is about 1~2 seconds.
I tried modifying response header value, and this situation was fixed.

@jeiea I've just run some tests using SampleWithTilesOverlay on TileSourceFactory.BASE_OVERLAY_NL with zoom level 7 (today is 2018.10.25)
Checking with a random http header website, this is what I've found for http://overlay.openstreetmap.nl/basemap/7/65/42.png:

HTTP/1.0 200 OK =>
Connection => close
Date => Wed, 17 Oct 2018 17:47:00 GMT
Server => Cherokee/1.2.104 (UNIX)
Content-Type => image/png
Content-Length => 31075
Expires => Fri, 19 Oct 2018 17:47:00 GMT
Cache-Control => max-age=172800, public

In TileDownloader.downloadTile, regarding tile expiration, among http headers we only check Expires. And the value (2010.10.19 17:47) is expired, therefore in your case it's normal that the tiles are downloaded again and again.
But from what I read about Expires http header, we should use max-age instead when it's available:

If there is a Cache-Control header with the "max-age" or "s-maxage" directive in the response, the Expires header is ignored.

In this example max-age is 172800, therefore 48 hours: the tiles should expire 2 days later.
About Cache-Control http header:

max-age=
Specifies the maximum amount of time a resource will be considered fresh. Contrary to Expires, this directive is relative to the time of the request.

I guess TileDownloader.downloadTile should be amended in order to take into account the Cache-Control: max-age http header first, then Expires.
As a quick fix in your case, there are cheats in order to extend the expiration delay, like Configuration.getInstance().setExpirationExtendedDuration() (number of milliseconds to add to the Expires http header in order to compute the tile expiration date).

@monsieurtanuki Thanks for the workaround. I applied your solution.

Working on the fix.

Fixed by #1173.


Change Person class to Employee class

Rename all instances of person to employee to make the abstraction more accurate according to #62.
Test cases will be changed in a later PR

LGTM


SW-4710 Add CRUD APIs for Cohort model

Merge activity

Feb 15, 1:16 PM EST: @nickgraz started a stack merge that includes this pull request via Graphite.


Julia DifferentialEquations applied

Replaced Sundials C-based code with julia DifferentialEquations interface, sundials implementations are not removed - just in case, runtestsWithModiaAndModia3D give the same errors and failures as your implemetations, simple runtests give one failure because of julia's smaller floating point precision, I'm going to fix it later. Logging is not implemented yet. I hope my implementation is a good addition to your project

I tried a few examples with your pull request (e.g. ModiaMath/examples/Simulate_Pendulum.jl), but always get the following error after simulation started:
ERROR:` LoadError: BoundsError: attempt to access 0-element Array{Any,1} at index [0]

[...] ModiaMath\src\SimulationEngine\diffeq_simulate.jl:323  # this is: simModel.yp = sol.du[end]

Should any of the examples simulate?

 ERROR:` LoadError: BoundsError: attempt to access 0-element Array{Any,1} at index [0]

 [...] ModiaMath\src\SimulationEngine\diffeq_simulate.jl:323  # this is: simModel.yp = sol.du[end]

Sorry, my fault, I've made some mistake with DASSL update, now it should be ok, so I'll update the dependencies and PR again

Hm. Can you give more explanations:

runtestsWithModiaAndModia3D was successful with latest ModiaMath, Modia, Modia3D. Which models do not run on your side (which versions of ModiaMath, Modia, Modia3D did you use)?
ModiaMath 0.5.2-dev, Modia 0.3.0, Modia3D 0,3,0
What do you mean with Julias smaller floting point precision and what do you plan to improve? To my understanding, both Julia and C-Sundials use Float64.
C-Sundials uses Sundials.realtype which is 124-bit


Update Dockerfile

Just "python" doesn't work

Overview

What this PR does / why we need it

Special notes for your reviewer
Does this PR introduce a user-facing change?

Oh, it's the recent alpine. Thank you.


Option to get a list of windows to choose from does not work

Steps to follow

Install plugin with TPM

set -g @plugin '27medkamal/tmux-session-wizard'

Add the option to my .config/tmux/tmux.conf

set -g @session-wizard-windows on # default is off

Installed plugin and start a new tmux session

What to expect
When I press Cb-T a popu to appear that lists all windows
What I get
I get a popup that contains only sessions, similar to what I get with not setting the @session-wizard-windows on option

I don't usually use this feature, but just tested it, and can confirm it works when sessions other than the current one have more than 1 window. However, I can see that because the current session is filtered out of the fzf results, the windows in the current session which I should probably fix.
Is this the behaviour you're seeing?

I run
tmux new-session -d -s foo -n wina
tmux new-session -d -s bar -n wina
tmux new-window -d -t bar -n winb
tmux attach-session -t foo

What I see when I press Cb-T from within session "foo" is:

I would expect to see something like the popup containing "bar:wina bar:winb" to be able to select a particular window
Am I missing something here?

I just tested the following after killing my tmux server
tmux new-session -d -s foo -n wina
tmux new-session -d -s bar -n wina
tmux new-window -d -t bar -n winb
tmux attach-session -t foo

and I can see bar's windows

Are you able to share your tmux.conf file? I can have a look further.
Also can you run tmux show-option -gqv "@session-wizard-windows" and share the output
Also looping @RensOliemans in who contributed to this feature. Can you confirm if this works for you or not?

Sure. My tmux config file (no fancy stuff)
➜  cat ~/.config/tmux/tmux.conf
setw -g mouse on
setw -g mode-keys vi

# Requires to have xclip installed (apt install xclip)
# Cb-] to enter visual copy mode
# Move with vim keys h,j,k,l
# Start selecting with v
# End selection and copy with y
# Paste with p
bind -T copy-mode-vi v send -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -i -sel clip > /dev/null"
bind-key p run "xclip -o -sel clip | tmux load-buffer - ; tmux paste-buffer"

# Tmux Plugin Manager
set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.local/share/tmux/plugins'

# Plugin list
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'catppuccin/tmux'
set -g @plugin '27medkamal/tmux-session-wizard'

# Plugin config
set -g @catppuccin_flavour 'latte'
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_default_color "#4078c0"
set -g @catppuccin_window_current_text "#W"
set -g @catppuccin_window_current_color "#c9510c"
set -g @catppuccin_status_modules_right "session"
set -g @catppuccin_status_left_separator "█"
set -g @session-wizard 't'
set -g @session-wizard-windows on

# Initialize TMUX plugin manager
run '~/.local/share/tmux/plugins/tpm/tpm'

and
➜  tmux show-option -gqv "@session-wizard-windows"
on

I had previously installed tmux-sessionx. Although I removed it from my tmux plugin list, I hadn't uninstalled it. After uninstalling it and running tmux again, I can now see the two windows.

Is it possible that there was some conflict because of that? Please let me further test it and I will report back

Thanks for pinging me, but I can't seem to reproduce it. I tried to use your .tmux.conf and install tmux-sessionx as well, even then I still see the windows. I also can't easily think of a way how sessionx might conflict with this plugin.
Something which I can imagine might have happened is the following:

You add set -g @plugin '27medkamal/tmux-session-wizard' to your .tmux.conf and install the plugin with tpm.
You run tmux
You change the @session-wizard-windows setting in .tmux.conf, but don't reload the config file.

In which case tmux doesn't know about the -windows setting and you would still see only the sessions. After uninstalling sessionx and restarting tmux, tmux will now of course use the new config,
But that seems at odds with your repro steps above, so tbh I am unsure of how this happened.
Please do some further testing and let us know what you find!

Strange indeed. I tested in my second PC (please take into account that both PCs are same OS and same dotfiles) and I faced the same issue. I check the value of (tmux show-option -gqv "@session-wizard-windows" ) and it was on.
Then I manually remove all tmux plugins (rm -rf ~/.local/share/tmux/plugins/*), installed them again and everything works fine. Sorry for not being able to provide more information about that and thank you for your time to respond

It's odd indeed, but glad to know it's sorted. Thanks @RensOliemans

That is strange, to happen on the second PC as well! I will try and reproduce some more, but am kind of at a loss as to how this can happen.


remove old circleci webhook config

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

Comparison is base (fcb07c8) 84.67% compared to head (74e4bba) 84.67%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #36   +/-   ##
=======================================
  Coverage   84.67%   84.67%
=======================================
  Files           4        4
  Lines         548      548
=======================================
  Hits          464      464
  Misses         84       84

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


chore: release master

:robot: I have created a release beep boop
ton-grpc: 0.8.3
0.8.3 (2023-12-07)
Bug Fixes

fix build (#587) (c7ad163)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/getgems-io/ton-grpc/releases/tag/ton-grpc-v0.8.3 :sunflower:


Uncompleted Tasks

How hard would it be to have Obsidian pull uncompleted tasks from Things 3 and put them on a workbench style note in Obsidian?

+1


Session Error - Parameter user_id is required for request

Here's my code:
@Controller()
export class TestRoutes {
    @Get("/test")
    getTest(@Req() req:Request,@Res() res:Response,@Session("user_id")userId:number) {
        res.send("user:"+userId)
    }
}

Is there any way to prevent the request completely dies when "user_id" from the session is undefined?
I'm getting this error
Parameter user_id is required for request on GET /test
when an anonymous visitor visits the page because "user_id" is not defined in the req.session obj.
I'm not sure if it's related but I have tried custom error handle in your sample and defaultErrorHandler: false in useExpressServer, but nothing works.

The function arguments from @Session params are always required, because there is no need to handle request when you want user object e.g. to check privileges but user is not authorized.
If you want to get better error info for this situation instead of "500 parameter is required", you can write a simple auth middleware and use decorator @UseBefore on class or method. The default error handler should return nice error code and detailed JSON info.
import { Middleware, UnauthorizedError } from "routing-controllers";
import * as express from "express";

/**
 * Authorization middleware for express framework with routing-controllers.
 * Prevent access of not logged user to the routes guarded by this middleware.
 */
@Middleware()
export class AuthorizationMiddleware {

    /**
     * Checks if there is a session in request with atached user.
     * If is, calls next middleware in chain, otherwise throws UnauthorizedError.
     *
     * @param {express.Request} req The Express request object
     * @param {express.Response} _res The Express response object (not used)
     * @param {express.NextFunction} [next] The next Express middleware function to call after (optional)
     */
    public use(req: express.Request, _res: express.Response, next?: express.NextFunction) {
        if (!req.session || !req.session.user || !req.session.user_id) {
            throw new UnauthorizedError("Access denied, you have to login first!");
        }

        if (next) {
            next();
        }
    }
}


Filtering Page

See mock ups for filtering tab on pages 8 and 9 in the mock ups: https://usepa.sharepoint.com/sites/WQPDataAssessmentTeam/Shared Documents/Forms/AllItems.aspx?id=%2Fsites%2FWQPDataAssessmentTeam%2FShared Documents%2FGeneral%2FTADA Dev%2FRShiny&viewid=deb12f0b-3d2c-4694-be22-7d262f785cce
ERG helped develop the mock ups for this tab, including user friendly design.
Since then, we have developed these functions in the TADA R package to leverage for this Shiny Filtering tab. We also use them in the vignette (links below). We are hoping these can be leveraged from TADA R Package to develop the new TADA R Shiny modules for this tab. We are happy to make changes to these functions if needed so that they can be leveraged.
FilterFieldReview()
Generate list of unique values in a given field
FilterFields()
Generate list of field names
FilterParFieldReview()
Generate list of unique values in a given field subset by parameter
FilterParFields()
Generate list of field names subset by parameter
FilterParList()
Generate list of parameters
Vignette (see two Filter data by field sections below)
https://usepa.github.io/TADA/articles/WQPDataHarmonization.html#filter-data-by-field
https://usepa.github.io/TADA/articles/WQPDataHarmonization.html#filter-data-by-field-subset-by-parameter

@erg-hzhou FYI - included these notes here as well for tracking & future discussion

@triphook I forgot I already wrote this up. Here is some example code & information for the filtering tab

The filter tab does not yet include the third level of filtering. For example, with the third level of filtering, a user could first select "CharacteristicName", then a specific characteristic from the list. Then they could review and filter data only for that specified characteristic. One example might be to filter within a single characteristic by media subdivision, or by the sample methodology used. Unique values for media subdivision, or the sample methodology could be nested or in a fourth level. See TADA Mock Ups.
Before implementing this, let's double check with the TADA Working Group to make sure this functionality is needed in Module 1.


Test private requests

coverage: 27.355% (+4.8%) from 22.509%
when pulling 1ee2edd8102a988db9221d5227230bcabb598402 on yzh-pelle:test_private_requests
into ad40ecf6c40cccb55f495fbc2b9563c658654c8a on sammchardy:master.


feat: support pid file.

We can restart the app automatically by the following command.
kill -USR2 $(cat custom/run/app.pid)

Why we need a pid file?

You can also use that information (just do a cat filename.pid) to kill the process yourself, using echo filename.pid | xargs kill. For develop purpose, you just build the binary and execute kill -USR2 $(cat custom/run/app.pid) command to restart app.

I never needed that before but LGTM

What happening if PID file already exist (ie: the app crash) ?  I think PID file must don't be created if -p flag or explicit configuration on app.ini is not specified to avoid any issue or conflict with System D, supervisor, or other kind of tools

@0xbaadf00d You don't worry about the PID file exists or not. App can be restarted successfully if you remove the pid file. Just try the following command.
gitea web
rm -rf custom/run/app.pid
kill -USR2 gitea_pid
cat custom/run/app.pid

@appleboy What happens when a startup script also sets a PID?

@Bwko What kind of start script do you use?

what about windows ? it's work ?

@ekozan Yes. Also working on Windows platform.

@Bwko

Also working on start-stop-daemon command

@appleboy Thanks :+1:  When you add metalmatze suggestions I'll LGT-M :smile:

@Bwko Done!

LGTM

need @metalmatze approve

@lunny @Bwko @metalmatze Thanks


NO-JIRA: remove incidents from default extensions

This pr removes the incidents extensions from the default extensions as it should be loaded only when enabling the incidents feature

/lgtm


Disabled the system sdk library path on windows+msvc since dxguid was…

… missing symbols.
Yeah so on Tides with The-Forge, when I tried to build now, we were missing the symbol DXGI_DEBUG_ALL, which is supposed to be in dxguid.lib. However the version of dxguid.lib that is in the system sdk at:

zig-gamedev\libs\system-sdk\windows\lib\x86_64-windows-gnu\dxguid.lib

Is significantly smaller than the one that comes with the windows sdk and doesn't include this specific symbol, and potentially others too?
I'm not sure if this is the best solution but by simply not having this dxguid.lib on the library path, I guess another one is found that does have the symbol. (I have a few of them on my computer)

Not being a Windows user typically, I'm not well placed to comment on your questions here. Maybe @michal-z has some insight? Regardless, this change looks good so I'll merge it, thanks


Don't crash if an observation has a PDF attached

This isn't implemented on the NAC side yet, but they're going to start allowing people to attach PDFs to observations. This PR doesn't add support for displaying PDFs - it just does the bare minimum to keep the app from crashing when it tries to parse one of these new responses. I added a test to verify that it parses correctly.
I also added a fallback path, so if a new type gets added in the future it won't break the app - it will just get parsed as type unknown.
@thechrislundy can you look at types/nationalAvalancheCenter/tests/mediaitem.test.ts and make sure that the structure of the object matches what you will be sending?
cc @stevekuznetsov @charlotteguard we'll want to push this out OTA soon

Merged and deployed OTA update, tested on my iOS device and everything looks as expected

I also added a fallback path, so if a new type gets added in the future it won't break the app - it will just get parsed as type unknown

Nice, yeah I was going to ask about that. In this case handing it gracefully seems like a good call, so we can be additive with new data. Perhaps the video upload at some point like you've suggested

I also added a fallback path, so if a new type gets added in the future it won't break the app - it will just get parsed as type unknown

Nice, yeah I was going to ask about that. In this case handing it gracefully seems like a good call, so we can be additive with new data. Perhaps the video upload at some point like you've suggested

FWIW video is already supported, @ccorey - though maybe you can only upload videos when using the NAC dashboard? But we don't display videos in the app yet 😢
https://github.com/NWACus/avy/blob/9a1060045a2ac13fe59790e61d9a3dd3c6cbd00d/types/nationalAvalancheCenter/schemas.ts#L317-L335

Hey Brian,
The Dashboard supports adding a YouTube video to the media gallery. The
forecaster pastes the video link in, and the system retrieves a thumbnail
from YouTube and saves that along with the YouTube URL. So what comes back
from the API is a thumbnail image, the YouTube URL (so it can be embedded)
and the other media metadata.
We're not allowing the public to add videos, but it would be good if the
app supported playing the YouTube videos as forecasters often include them
on their obs.
Chris
On Tue, Dec 12, 2023 at 11:00 AM Brian Sharon @.***>
wrote:

I also added a fallback path, so if a new type gets added in the future it
won't break the app - it will just get parsed as type unknown
Nice, yeah I was going to ask about that. In this case handing it
gracefully seems like a good call, so we can be additive with new data.
Perhaps the video upload at some point like you've suggested
FWIW video is already supported, @ccorey https://github.com/ccorey -
though maybe you can only upload videos when using the NAC dashboard? But
we don't display videos in the app yet 😢
https://github.com/NWACus/avy/blob/9a1060045a2ac13fe59790e61d9a3dd3c6cbd00d/types/nationalAvalancheCenter/schemas.ts#L317-L335
—
Reply to this email directly, view it on GitHub
https://github.com/NWACus/avy/pull/622#issuecomment-1852546352, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AECHTTSDXQFPKHOZLY53ADLYJCLT7AVCNFSM6AAAAABAN4ZUFSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJSGU2DMMZVGI
.
You are receiving this because you were mentioned.Message ID:
@.***>


Use unbuffered channels to avoid out-of-order msgs. Fixes #426

IIUC, and per https://stackoverflow.com/a/25795236, the issue with out-of-order messages is due to switching to using buffered channels in https://github.com/42wim/matterircd/pull/383.

@hloeung , is this working as the fix for the out-of-order messages for you? I might try it...not sure if it helped in your case

Yeah, I'm currently running with this fix and haven't seen out-of-order messages yet.


solution for older computer with sse2 instruction set

Thanks for sharing the program.
The program work nicely on newer computer. It does not work on older computer with sse2 instruction set (don't have avx2). I'm just wondering if you have a quick solution for this case.

Thanks for the quick respond.
I try an older version from nuget. There are some function compatibility call variation on detection function call. Is there way to access older version of the package on GitHub ?
Thanks.

I have not change the wrapper (c#) only change the c++ dll and this dlls are available in the nuget packages. Nuget allow download preview packages you can unzip a nupck with 7zip.

Thank a lot. It work.
I just copy DLL ( yolo_cpp_dll_cpu.dll, yolo_cpp_dll_gpu.dll)and lib (Alturos.Yolo.dll)from the version 2.1.0 from nuget.


Top-level Gemfile in multi-gem project "leaks" dependencies

I maintain several multiple-gem in a single git-repo projects. Introducing Bundler in these projects was of great utility for:

Better controlling per-gem dependencies, for example when running tests.
Allowing cross-gem updates/testing without constantly needing to gem install incremental changes.

To enable the last in particular and keep things as easy to operate as possible, I'm using a single project top-level Gemfile.  A much more prominent example of this style of Bundler usage is in rails:
https://github.com/rails/rails (see the top-level Gemfile)
There is a subtle flaw IMO in Bundler's behavior with these setups, in that any gem declared in any of the project gemspecs' is visible or require accessible from any other gem in the project, regardless of the gem's specific gemspec. This can lead to post-release surprises on gemspec declaration flaws, as Rubygems does not and could not have the same leaks.
The following sample project demonstrates this problem in tests:
https://github.com/dekellum/bundler-dep-leak
The alternative approach would be to use independent Gemfile's in each gem subdirectory. There are no dependency leaks in this case. See passing tests for the sample here:
https://github.com/dekellum/bundler-dep-leak/tree/sub-gemfiles
I find myself needing to switch to this per-Gemfile style setup periodically to test that my gemspec dependencies are correct and to fix any dependency issues. I then find myself switching back to take advantage of (2) above, and given that a single top-level Gemfile makes the project easier to use with a single top-level bundle install or bundle update. But this switching is proving tedious at best. It could be avoided by a Bundler fix for the dependency leaks, or restated as a feature request:

Bundler should restrain resolving/activating gems to only the regular and development dependencies declared directly by, or transitive regular dependencies of, the gemspec found/declared in the current working directory.

If no gemspec is found in the current working directory, the current behavior is preserved.

There is no change in the common case of a single Gemfile, single gemspec project.

At minimum I hope to shed light on this "leak" issue. If you guys agree that this is Bundler's issue or the above feature is desirable, I will be happy to attempt an implementation.

Forgive me if I'm misunderstanding something here, but your example Gemfile explicitly declares that gems A, B, and C are all required. That means you have just told Bundler that all three of those gems, and every single child gem of all three of those gems, must be present and loadable once Bundler.setup has run. If that's not what you want, I think you need to write an explicit Gemfile for sub_b in the sub_b directory, and only use that Gemfile when you want to isolate your bundle to just sub_b and it's child deps.

Thanks for the quick response.  I agree with your statement of fact. Here lies the gap between how bundler currently works and what I believe is desirable for a multi-gem project.   See my sub-gemfiles sample branch (3rd link above).  This is the only way to get completely correct dependency isolation. However by doing this, I lose:

The convenience of doing a single top level bundle install or update and will have complications in keeping the Gemfile.lock's in sync for patch releases.
The ability to make cross-gem changes and running the tests without constantly needing to gem install those changes.

Here's one alternate approach I've been using that allows you, I think, to "have your cake and eat it too".
The top-level Gemfile for the project is like this:
source 'https://rubygems.org'

group :development do
  PROJECT_ROOT = File.expand_path('..', __FILE__)

  # install all gems needed by sub-libs
  %w[ lib_a lib_b ].each do |lib|
    eval File.read(File.join(PROJECT_ROOT, lib, "Gemfile"))
  end
end

In effect, the top-level Gemfile simply reads in the Gemfiles of each subproject.  Each subproject has its own gemfile.  This ensures that when you are in a subproject, the Gemfile being used is the isolated one their with no extra dependencies.  At the top level, you can use "bundler install" to install everything.

That's correct. Dependency isolation in Bundler is limited to per-Gemfile dependency trees, by design.
Rails (to use your "high profile" example from above) does in fact use the project Gemfile in this way, because the Gemfile corresponds to the entire Rails project, and not to any individual gem. The entire idea and point of Bundler is to manage your LOAD_PATH so that you can require any gem either listed at the top level of your Gemfile or depended on by one of those gems.
It sounds like what you're asking for is to be able to explicitly list a gem in your Gemfile, yet still be unable to load that gem. If that's true, I'm afraid we are unlikely to be willing to implement that, since that behaviour would be considered a critical bug.
If what you are after is simply letting your test processes make their own decisions about what gets required, you can easily disable Bundler's auto-require facility by adding :require => nil to each of the lines in your Gemfile. Once you have done that, only explicit requires in your own code will load things, and you should be able to run your tests unsullied by other libraries' code.

Thanks @myronmarston, I will definitely see how this plays as a practical workaround. I suspect though, that it is incremental: I will still have both top and sub-level Gemfile.lock's to contend with.
@indirect : I hope you will humor my making another attempt to make this issue and its consequences more clear:
Using the sub-gemfiles setup, in sub_b/lib/sub_b.rb,  if I require 'hashie' and forget to declare it as sub_b.gemspec dependency, it will (correctly) fail.  This is an really nice feature of using Bundler.
By comparison, by using the sample master branch setup, with one top-level Gemfile: The same code will not fail during development.  I will only catch the gemspec problem once I've released it, and a consumer gets a LoadError if hashie is not installed (for example, consumer doesn't also use sub_c, which has the declared hashie dependency).
So currently I'm forced to trade the full set of intended Bundler features and conveniences (described above) to get proper detection of gemspec dependency omissions.  It would be better if these multi-gem projects could have all the features with one setup.   If you think my above stated feature request is too much magic, or too much of a change without an explicit opt in, then how about if we could preserve the top level Gemfile but add something like the following in a Gemfile to each of the three gem sub-directories:
gemspec :path => '.', :name => 'sub_b', :restrains => '..'

Where the meaning of :restrains would be: use '../Gemfile(.lock)' to resolve/active all dependencies that are actually listed in sub_b.gemspec, but no other dependencies listed at to level.  And no Gemfile.lock's would be created at the sub-level.
Alternatively this could be rolled into the single, top level Gemfile, i,e:
source :rubygems

gemspec :path => 'sub_a', :name => 'sub_a', :constrain => true
gemspec :path => 'sub_b', :name => 'sub_b', :constrain => true
gemspec :path => 'sub_c', :name => 'sub_c', :constrain => true

With the same effect as above. Example: When I'm running rake/bundler/tests from the sub_b directory, then constrain dependencies to only gems listed in sub_b.gemspec plus transitive dependencies.  I'd get the correct LoadError for require 'hashie' this way.

Okay, I think I see what you mean. You'd like Bundler to check the current working directory, and give you a subset of the parent directory's Gemfile based on which directory you are working from, right? That is definitely too much magic for me, sorry. :(
As "best practices for library maintainers", we suggest that the Gemfile.lock be added to .gitignore. I would add to that and suggest that you delete your Gemfile.lock before you do any pre-release testing, to effectively check and see if a vanilla gem install of your gem will work when users try it. If you adopt that pattern, then it seems like you should have all the upsides you described by simply adding Gemfiles to each subdirectory. When you are in the parent directory, you get the parent Gemfile loaded, and when you are in the child directories, you get the Gemfile that only loads the subdirectory's single gemspec.
Hopefully the reasoning behind deleting your Gemfile.lock before any pre-release checks run makes sense, and I would love to know if you have any further thoughts on this issue. Thanks!