text:
Does not work when the library uses third-party resources

Describe the bug
The library for which I want to measure the size depends on Android Support AppCompat and uses the theme Theme.AppCompat.Light.Dialog.Alert. When I run the measureSize task, I get the following error:
Could not execute build using Gradle distribution 'https://services.gradle.org/distributions/gradle-6.1.1-bin.zip'.`

When I try to assemble the apkscale project manually to get more details about the error, I get the following error:
AAPT: error: resource style/Theme.AppCompat.Light.Dialog.Alert (aka com.twilio.apkscale.withlibrary:style/Theme.AppCompat.Light.Dialog.Alert) not found.`

And that seems normal since the apkscale project only depends on the AAR of the library but not on its dependencies.
Expected behavior
I would expect apkscale to be able to measure the size of the library even if it depends on other dependencies. But I'm unsure if it should also measure the size impact of the library dependencies.
Actual behavior
The measureSize task fails.
Version

Version: 0.1.1

Hey @guillaume-tgl
Great find!
I think this could be fixed by either including the library's dependency aars directly or including the library as a project dependency to the fake app used to measure the size.

authors: aaalaniz guillaume-tgl

repo: twilio/apkscale


text:
GitHub CI: enable 'cache' action

This caches Maven artifacts. Builds should be faster with caching enabled.
See: https://github.com/actions/cache/blob/master/examples.md

Contributing to Twilio

All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.

[x] I acknowledge that all my contributions will be made under the project's license.

Good call

LGTM

Thanks!

source: gharchive/pull-request

authors: blast-hardcheese sullis

repo: twilio/guardrail-maven-plugin

license: MIT

license_type: permissive

license_source: github-api


text:
Add minimum projection required to check union variants

Something like this:
export type UnionType<
  Ts extends Types,
  P extends { [K in keyof Ts]: Infer<projection.FromType<Ts[K]>> } | undefined,
> = {
  readonly kind: 'union'
  readonly variants: Ts
  readonly variantsChecks?: {
    projection?: P
    is: {
      [K in keyof Ts]: P extends undefined
        ? (_: Infer<UnionType<Ts, undefined>>) => boolean
        : P extends Infer<projection.FromType<UnionType<Ts, undefined>>>
        ? (_: Infer<projection.ProjectedType<UnionType<Ts, undefined>, P>>) => boolean
        : never
    }
  }
  readonly options?: UnionTypeOptions

  optional(): OptionalType<UnionType<Ts, P>>
  nullable(): NullableType<UnionType<Ts, P>>
  array(): ArrayType<'immutable', UnionType<Ts, P>>
  reference(): ReferenceType<UnionType<Ts, P>>
  setOptions(options: UnionTypeOptions): UnionType<Ts, P>
  updateOptions(options: UnionTypeOptions): UnionType<Ts, P>
  setName(name: string): UnionType<Ts, P>
}

const u = union(
  {
    A: object({ type: literal('a'), n: number() }),
    B: object({ type: literal('b'), n: number() }),
    C: object({ c: string() }),
  },
  {
    projection: {
      A: { type: true },
      B: { type: true },
      C: { c: true },
    },
    is: {
      A: (v) => !('c' in v) && v.type === 'a',
      B: (v) => !('c' in v) && v.type === 'b',
      C: (v) => 'c' in v,
    },
  },
)

I'm not sure if projection could be undefiend.

Maybe we could leave the P generic out and define is as (_: PartialDeep<Infer<UnionType<Ts, undefined>>>) => boolean

This is no longer needed since we decided to go with tagged unions

source: gharchive/issue

authors: edobrb giacomocavalieri

repo: twinlogix/mondrian-framework


text:
[QUESTION] How to run?

Hi, total newbie to python here and have no idea what I'm doing.
Installed the latest version of python, and git then did
git clone https://github.com/twintproject/twint.git
pip3 install -r requirements.txt
my twint folder seems to be username\twint\
I have no idea what I do now? Opening python and trying "twint -u username" just results in "Name error: name 'twint' is not defined"
Using command prompt I can seemingly run the .py scripts just by changing to that directory and typing in their name. (Both automate.py/test.py seem to work to an extent but error "list indices must be integers..." but looking at another post about the same issue it seems just outddated? https://github.com/twintproject/twint/issues/394 )
setup.py doesn't seem to do much.
How do I run the examples in the wiki? example:
twint -u username
opening python and typing twint results in:
Traceback (most recent call last):
File "", line 1, in
NameError: name 'twint' is not defined
I tried adding the twint folder (and the subfolder also called twint?) to the windows namespace thing but no luck, obviously I have no idea what I'm doing here.
Or do I need to create a module to run commands? As opposed to just doing "twint -u username" or similar?
Many thanks for any help with this!

Hi @nvi123
the easiest way to run Twint is installing it via pip3 and running commands, please run pip3 install twint, after that, if everything went OK, run twint -u username --csv -o output.csv where username is the username of the user which you want to get tweets (for example if you want mine just do -u noneprivacy). --csv specifies that you want to save the tweets in a CSV format, -o specifies in which file save them. Basically with that command you get every tweet sent by that user and save into a CSV file

repo: twintproject/twint


text:
[2.0-wip] Hovered nav list active link

.nav > li > a:hover {background-color: #EEE;} + .nav-list .active > a {color: white;} = antarctica

Demonstrative fiddle: http://jsfiddle.net/8fXdd/
Hover over the active item for some not-very-readable white on #eee.

And for good measure, a screenshot! http://cl.ly/DpWL

Resolved!

I noticed that the documentation is fixed but doing a pull on master (or switching to the 2.0.1-wip branch) still retains the bug.

authors: auzigog leonidsakharov markdotto tekmosis vreon

repo: twitter/bootstrap


text:
Form elements and margin based on whitespace in markup

Hello
I'm not sure if this is intended, but the margin between input elements (in for example "Inline form" under http://twitter.github.com/bootstrap/base-css.html#forms ) is based on whitespace between the elements in markup.
Please see this example: http://jsfiddle.net/zSQvD/

Indeed, that is intended and is browser behavior, not Bootstrap. It's how they use inline-block.
You can get around that by floating inline form controls if you wish.

authors: eirikb markdotto


text:
SubmitMultiSm capabilities?

Hi everyone,
I've recently begun the migration of my organization's legacy messaging platform, leveraging logica smpp, onto ch-smpp.  I've noticed that it appears to be missing the SubmitMultiSm pdu does not exist in the library.
According to the smpp 3.4 spec:
The maximum message length which can be specified in sm_length field (see section 5.2.21) is 254 octets. If an ESME wishes to submit a message of length greater than 254 octets, the sm_length field must be set to NULL and the message_payload optional parameter must be populated with the message length value and user data.
SMPP supports extended message lengths in the submit_sm, submit_multi, data_sm and deliver_sm PDUs.
How is SubmitMultiSm supported, for instance with UTF-16 messages?
Thanks.
dan

Hello Guys
I currently use this method to send both short and long messages for a SMPP server that support it
public synchronized String sendSMSMessage(String aMessage,
String aSentFromNumber, String aSendToNumber,
boolean requestDeliveryReceipt) {
byte[] textBytes = CharsetUtil.encode(aMessage,
CharsetUtil.CHARSET_ISO_8859_1);
	try {
		SubmitSm submitMsg = new SubmitSm();

		// add delivery receipt if enabled.
		if (requestDeliveryReceipt) {
			submitMsg
					.setRegisteredDelivery(SmppConstants.REGISTERED_DELIVERY_SMSC_RECEIPT_REQUESTED);
		}
		submitMsg.setSourceAddress(new Address((byte) 0x03, (byte) 0x00,
				aSentFromNumber));
		submitMsg.setDestAddress(new Address((byte) 0x01, (byte) 0x01,
				aSendToNumber));
		 if (textBytes != null && textBytes.length > 255) {
			 submitMsg.addOptionalParameter(new Tlv(SmppConstants.TAG_MESSAGE_PAYLOAD, textBytes, "message_payload"));
		 }else{
			 submitMsg.setShortMessage(textBytes);
		 }

		logger.debug("About to send message to " + aSendToNumber
				+ ", Msg is :: " + aMessage + ", from :: "
				+ aSentFromNumber);

		SubmitSmResp submitResp = smppSession.submit(submitMsg, 15000);

		logger.debug("Message sent to " + aSendToNumber
				+ " with message id " + submitResp.getMessageId());
		return submitResp.getMessageId();
	} catch (Exception ex) {
		logger.error("Exception sending message [Msg, From, To] :: ["
				+ aMessage + ", " + aSentFromNumber + ", " + aSendToNumber,
				ex);
	}

	logger.debug("Message **NOT** sent to " + aSendToNumber);
	return "Message Not Submitted to " + aSendToNumber;
}

repo: twitter/cloudhopper-smpp

license_source: bigquery


text:
add github workflow for ci

Adds a first-pass port of the travisci config to GitHub Workflows.

@thinkingfish - feel free to reimplement or make changes on this PR, I think we'd need to merge at least a minimal config before we can validate it in future PRs

Merging and hoping it works - I'll open a follow-up PR if I didn't get it right in this one.

repo: twitter/pelikan


text:
Allow user to disable auto data uri whitelist

The current behavior results in a data URI being appended to the img-src directive regardless of whether or not the user actually wants to allow data URIs. This PR introduced a new configuration option that the user can specify in order to disable the auto-whitelisting.

Thanks @rbhitchcock, I'm trying to figure out what's going on with travis. Once I get that squared away I'll merge and release this

authors: oreoshake rbhitchcock

repo: twitter/secureheaders

license: mit


text:
Better versioning for cache-control

As things are now, twemoji.min.js is cached for 30 days in browsers.
This means that if the user has the file cached in his/her browser, changes to twemoji.min.js will appear only after 30 days.
If some versioning is done in the URL, things will be better. So we might need an address such as:
//twemoji.maxcdn.com/2.1.0/twemoji.min.js
so that the address itself acts as a cache-buster.

AFAIK that's not the case. MaxCDN is synced with this repository and if there is a change it will be reflected there pretty quickly, as soon as all end points are updated, usually we talk about minutes, not even hours.
However, it is also possible for us to do an "emergency purge" in case it's really necessary.
Versioning so far worked by major release version only and it's fine because it doesn't break anything in terms of usage, it gradually update eventually modified pngs through an updated RegExp, which is the only thing that actually changes in the entire file.
As summary: if you want me to purge everything for some reason, but I see already the new version on MaxCDN without any issue, I could do that.
Adding a minor version with the current structure would complicate things for both this repo and MaxCDN current offer since the amount of duplicated assets won't be worth the trouble (IMO)

Yes I understand purging can be done. Cloudfront takes 15 minutes and I guess MaxCDN should be similar.
My issue was about the user browser cache. Suppose a visitor visits my site which is using twemoji. The cache headers ask the browser to set the max-age to 30 days. If the visitor visits the site in the next 30 days, he/she won't get the updated version of twemoji.min.js if it is updated on Github and is synced with MaxCDN.
This is the reason Google's hosted libraries have rules with versions/cache.

I don't understand the problem. If you have to manually change your site url just use the following?
//twemoji.maxcdn.com/2/twemoji.min.js?2.1.0
What is the benefit of duplicating all assets by minor version on MaxCDN?
All icons that didn't change needs to be re-downloaded for no reason but all you want to do is have the latest version of the library with the latest RegExp ... right?
Since in order to do that you want to change your own url, you'r efree to do the same via basic query string info. At least assets that were already downloaded, will still be the same and only the script will change.
Having versioning as it is now for this repo structure, where v1 has also different assets and introducing minor versioning should also respect assets versioning for consistency sake, is in my opinion not needed and counter-efficient for users.

I agree that appending a query string will solve. But the problem is not just a personal one. It's about all users of twemoji.
Users are not going to pay that much attention to cache control and all that. They'll just copy paste the script src. And when they do, regular visitors to their websites won't be served the latest version immediately.
About assets ... you can still refer to the same assets with a different naming convention for twemoji.min.js. So that sort of question doesn't arise.
Naming files should always keep in mind cache busting.

I agree that appending a query string will solve. But the problem is not just a personal one. It's about all users of twemoji.

we don't control external websites that use twemoji. We cannot grant everyone will update the link accordingly. However, we can put on the README that the new link has a query string ... I still don't understand what's the problem in doing so.

Users are not going to pay that much attention to cache control and all that. They'll just copy paste the script src. And when they do, regular visitors to their websites won't be served the latest version immediately.

Your proposal doesn't solve this problem, do we agree on that?

About assets ... you can still refer to the same assets with a different naming convention for twemoji.min.js. So that sort of question doesn't arise.

for consistency sake, samever shoudl grant samever. We don't follow samever here.
Some asset has been updated, people trusting previous image/icon via samever could be upset if suddenly the image changes (for whatever reason ... it's about respecting samever principle)

Naming files should always keep in mind cache busting.
I personally like KISS and YAGNI approaches which worked well 'till today since this repo was announced. I am not saying the current status is perfect, I am saying it just worked ¯\(ツ)/¯

"we don't control external websites that use twemoji. "
Precisely the issue. A coder has to understand things which can go wrong. The versioning could have been designed, or still can be designed keeping things like this in mind.
Have a look: http://www.paulirish.com/2009/caching-and-googles-ajax-libraries-api/
(the max-age numbers have probably changed but the idea is the same).
So a version like 2 should have low max-age. More specific ones higher. So 2.1.0 may have a high max-age.

Again, your proposed solution does not work. Developers have to come over and realize there is a new link to use and copy that.
Which is exactly what I am going to do now, updating the README so the problem will be solved:

no need to change anything in MaxCDN since it's not even possible for us
no need to duplicate assets to be consistent with samever
whoever copy and paste the latest link will have the latest library

Deal? Because I'm pretty sure the folder is not going to happen, since it doesn't solve the problem and it doesn't keep things simple for both this repo and MaxCDN.
I hope this works.

Actually, to make it even simpler: we cannot technically configure MaxCDN to do what you are asking and this repository changes once every 6 months or something, which is when new emoji comes out.
We did a simple setup based on sync and that worked so far, we don't need samever because we won't have so many changes.
Even if users have to wait up to 30 days for some new assets I personally don't see this as a problem but if it is, then whenever there is a new version we'll keep the link updated so that everyone can check the latest is the used one.

You could use max-age of 1 day and "stale-while-revalidate" for a month.
Google fonts does this.

authors: WebReflection vijayaraghavanramanan

repo: twitter/twemoji


text:
There is no test result feed back

I have followed this https://github.com/twolfson/karma-electron/blob/3.2.1/docs/submodules.md to config my karma.
There is no error, but I didn't get any feed back from my test or any js files.Then I modified a file and save it. It seem electron was pending. and log this:
20 06 2016 18:14:31.646:INFO [karma]: Delaying execution, these browsers are not ready: Electron 1.2.3 (Node 6.1.0)

I make electron window visibled, but I don't see anything in the chrome inspector, like this:

I don't know why, but I fixed this by refollow the readme, I can't reproduce this issue now.

I'm glad to hear the issue has been resolved =)

authors: twolfson yeluoqiuzhi

repo: twolfson/karma-electron

license: unlicense


text:
Retry k8s startup forever

Changes proposed in this PR

Retry k8s startup forever.
Some minor logging improvements.

Why are we making these changes?
The kubernetes watches used to retry forever, but the initial cluster setup would not retry. It needs to
enumerate the pods in k8s in order to determine what state to load from datomic.

Will merge when green

authors: dposada scrosby

repo: twosigma/Cook


text:
use the right field for auth expiry time

Changes proposed in this PR

change to use the correct field for SAML auth expiry

Why are we making these changes?
Currently using the assertion's not-on-or-after, but that's only 5 minutes and intended to allow for the original redirects between the IDP and waiter. If there is a limit on the auth, then it's the optional session-not-on-or-after

Yeah, didn't have time to do yet
On Fri, Jun 14, 2019, 8:14 AM Shams notifications@github.com wrote:

@shamsimam commented on this pull request.
We should have an integration test validating this behavior.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/twosigma/waiter/pull/801?email_source=notifications&email_token=AB7NL2USOZJ3GGQ6WUN6JU3P2OKT7A5CNFSM4HYEEX72YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOB3SRQAA#pullrequestreview-249894912,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB7NL2U6Z4QII6HFJVZI5Z3P2OKT7ANCNFSM4HYEEX7Q
.

repo: twosigma/waiter


text:
docker-compose.yml volumes疑問

請問外層的 pgdata是否可以拿掉？ 似乎沒用到
再來外層的redis-data對應到的是哪邊？ 沒有寫出來是否代表不用對應？

@ekils 您好

pgdata 的確可以拿掉，當初本來要用 postgresql，後來直接用 sqlite 了，所以 pgdata  這部分的確可以拿掉。

基本上是 container 中 data 這個資料夾對應到 redis-data 這個 volume

volumes:
        - redis-data:/data

authors: ekils twtrubiks


text:
How do I branch?

How does branching work again ?

Hi @NahejL! To contribute to the project, please, fork the repository to your account. Commit the changes you would like to see and make a pull request to the original repository. After, I review it, it can be merged into the master branch.
Thank

authors: NahejL tymnim

repo: tymnim/unit-tester


text:
Update cats-core, cats-laws to 2.7.0

Updates

org.typelevel:cats-core
org.typelevel:cats-laws

from 2.6.1 to 2.7.0.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel" } ]

labels: library-update, early-semver-minor, semver-spec-minor

Codecov Report

Merging #412 (7f3a209) into master (246a671) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #412   +/-   ##
=======================================
  Coverage   99.51%   99.51%
=======================================
  Files           8        8
  Lines         412      412
  Branches       41       41
=======================================
  Hits          410      410
  Misses          2        2

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 246a671...7f3a209. Read the comment docs.

authors: codecov-commenter scala-steward

repo: typelevel/paiges


text:
Full ru translation + en fix

A lot of strings from dictionary was fixed, thats why new files shorter on few strings (I deleted duplicates).

I am sorry for replying so late, and I am sorry, that we probably did not coordinate our work enough, maybe some informations where missing on both sides. I will try to finish the translation issues next week, so new translations can be made. The problem with your file is that I cannot  see the changes in detail, because everything is changed. The next problem is, that all translation files are generated automatically with a script (like I said), so all manual changes that are not translations on the right side are overwritten next time.
There are only three ways to work with translations:

Change original translation-strings in the source-code, they will be extracted automatically
Adopt the rules of the extraction scripts, but this will have impact on all translation files, so no indivudal changes are possible.
Translate only the right side of the files, do not add any other changes to the file (even order should not be changed).

When I finished and fixed translations, I will try to merge your translations and hope they will be saved, but I cannot promise that it will work...

ok, I think I fixed the whole translation process in typemill and will publish everything with next release. I copied your changes manually and processed the files again. I think/hope all your work is saved now and nothing is lost. I made the following changes:

All keys are now normalized, all special chars stripped out so no  quotes are there anymore and everything is ordered alphabetically.
At the end of all translation files it starts again from A-Z. These translations are from version 1 and not used anymore in v2. I did not want to delete them, so I added them to the end of the file. Translators can decide on their own if they want to delete them or not. This will happen with every release now: Translations that are not in use anymore are added to the end of the file.
I fixed all logics so all translations are displayed now in the frontend. There was an error with the generation of keys so Typemill did not find most translations.
I will publish a how-to for translators in the Typemill documentation.

Thank you again for your contributions!! I will publish all changes on 15.2.

authors: hide-me trendschau

repo: typemill/typemill


text:
i18n

Congratulations on your typemill.
I just made the internationalization. It is only an initial setting, it is not complete (js file management is still missing).
The translation uses the language selected in Settings / System / Language-Attribute (HTML).
For now the only languages provided are English and mine, Italian.
I hope it will interest you.

Hopefully this get merged, I like to provide Dutch i18n support.

Wow, that looks great! I will check it for the next release, thank you for that great contribution!!

Hi iusvar, I checked this locally now and I really like how it works!
However, the symfony components are pretty large with 1 MB of code. This conflicts a bit with the goal of Typemill to be lightweight and floppy sized (core less than 1.44 MB gzipped). I just moved the plugins to the new plugin collection page in order to reduce the size of Typemill core again.
My thoughts (please correct me if I am wrong): We already have a YAML parser in Typemill. We only need a simple logic to load the yaml-translation files (we could move them to the settings-folder) and another twig-extension to add the trans-filter (or a twig-function). I would prefer to code a simple solution by hand and avoid the components. What do you think?

Hi, I like that you want to keep the typemill core as light as possible.
My proposal was a quick solution because I had read about some who had asked you for this functionality and since I had already prepared it for me, I thought of proposing it as it is.
I also agree on your exposed thoughts: a customized function or filter would be an ideal solution.
With your roadmap in mind, I will try to propose a suitable solution (I don't know with what timing), unless you want to take care of it yourself.
I appreciate your frankness.

Great to hear, I think many users will highly appreciate a translation feature and it would be great if you find a lightweight solution. A new Typemill version is published every 2 or 3 weeks so I can add it to a release whenever it is ready.

I take the liberty of closing it because it is out of date

authors: iusvar svanlaere trendschau


text:
Type does not implement passing options to constructor

The current implementation of chokidar allows passing options into the constructor, which is not reflected in the current type files.
https://github.com/paulmillr/chokidar/blob/master/index.js (Line 55)
function FSWatcher(_opts) {
...
}

PR welcome. :)

Fixed by #3

authors: bayssmekanique unional

repo: types/npm-chokidar


text:
Fix compatibility issue with Docusaurus v2.0.0-beta.22 and above

Description
Building a project based on Docusaurus v2.0.0-beta.22 and later crashes.
Steps to reproduce

Create a new project based on Docusaurus v2.0.0-beta.22 or later (the latest version at the time of writing being v2.0.0-rc.1).
Integrate the Typesense plugin according to this guideline.
Run npm run build.

Expected Behavior
The project builds successfully.
Actual Behavior
The build fails with the following error:
TypeError: (0 , lib_namespaceObject.useTitleFormatter) is not a function

[WARNING] node_modules/docusaurus-theme-search-typesense/src/theme/SearchPage/index.js:
export 'useTitleFormatter' (imported as 'useTitleFormatter') was not found in '@docusaurus/theme-common'

Proposed solution
As per this pull request, some exports were moved to internal.ts.
So the import in src/theme/SearchPage/index.js needs to be changed from:
import {useTitleFormatter, usePluralForm} from '@docusaurus/theme-common';

to
import {useTitleFormatter, usePluralForm} from '@docusaurus/theme-common/internal';

It would be awesome if you could fix the compatibility issue and also update the dependencies so that the plugin is compatible with Docusaurus v2.0.0-rc.1.
Metadata
Typsense Version: 0.4.0
OS: Windows 11 (22000.795)

@aelmsu Thank you for reporting this. I've pushed out v0.5.0 which is compatible with docusaurus-2.0.0.rc1.

authors: aelmsu jasonbosco


text:
Complete refactoring of the Organizations API

[x] Insert
[x] Update
[x] Delete (archive only)
[ ] GetDomains
[x] Verify
[ ] Adjust JSON scheme

Customer Domains have to be wrapped in an Ember Result

Adjust update with ES

TODO :top:

Update with ES done

repo: typhonapp/typhon


text:
json-server does not use the code provided in the middleware file

I am using json-server to simulate some api calls responses for front-end development turns out that adding a middleware does not really work out in my case:
{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "concurrently -k \"json-server --watch api-faked/db.json --routes api-faked/routes.json --middlewares api-faked/middleware.js --ro\" \"vue-cli-service serve\"",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },

When starting:
[1]  INFO  Starting development server...
[0]
[0]   \{^_^}/ hi!
[0]
[0]   Loading api-faked/db.json
[0]   Loading api-faked/routes.json
[0]   Loading api-faked/middleware.js
[0]   Done
[0]

It seems that the middleware.js is considered by json-server, however, a simple example such as the middleware.js like below:
module.exports = (req, res, next) => {
    res.header('X-Hello', 'World')
    next()
}

Does not add any header to my response headers:
Request URL: http://localhost:3000/api/v1/operations/?code_like=adi
Request Method: OPTIONS
Status Code: 204 No Content
Remote Address: 127.0.0.1:3000
Referrer Policy: no-referrer-when-downgrade
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: authorization
Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE
Access-Control-Allow-Origin: http://localhost:8080
Connection: keep-alive
Content-Length: 0
Date: Thu, 18 Jul 2019 12:23:53 GMT
Vary: Origin, Access-Control-Request-Headers
X-Powered-By: Express

What am I missing here?
Side-note: actually removing the next from the middleware.js does not even alter anything, it's like even though the middlware has been added to the json-server configuration it seems not really run at any point in time.

Have you tried using it as a module instead of through the cli?
// server.js
const jsonServer = require('json-server')
const server = jsonServer.create()
const router = jsonServer.router('db.json')
const middlewares = jsonServer.defaults()

server.use(middlewares)

// Add custom middleware before JSON Server router
server.use((req, res, next) => {
  console.log('Time:', Date.now())
  next()
})

server.use(router)
server.listen(3000, () => {
  console.log('JSON Server is running')
})

Docs section: https://github.com/typicode/json-server#module
I've had success using this method, however I've noticed that I don't seem to be able to add middleware after server.use(routes), or add custom middleware to the router at all.

I've had success using this method, however I've noticed that I don't seem to be able to add middleware after server.use(routes), or add custom middleware to the router at all.

You mean starting the server with something like that:
"serve": "concurrently -k \"json-server server.js --ro\" \"vue-cli-service serve\"",
instead of what I have currently:
"serve": "concurrently -k \"json-server --watch api-faked/db.json --routes api-faked/routes.json --middlewares api-faked/middleware.js --ro\" \"vue-cli-service serve\"",
?

My configuration:
···
const jsonServer = require('json-server')
const data = require('./db.js')
const routes = require('./routes.json')
const router = jsonServer.router(data) // Express router
const server = jsonServer.create()       // Express server
const middlewares = jsonServer.defaults()
server.use(middlewares)
server.use(jsonServer.rewriter(routes))
server.use(router)
// Avoid CORS issue
server.use( (req, res, next) => {
res.header("Access-Control-Allow-Origin", "*");
// res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
server.listen(9538, () => { // 监听的端口
console.log('JSON Server is running')
})
···

Unfortunately this is still an issue on v 0.16.3. The documentation says you can load middleware through the cli with the --middlewares flag, but it does not add your provided middleware to the server. I would like to use the CLI instead of the module so the solution here is more of a work around for those who can use the module.

authors: PLQin ehouarn-perret kerry-perret samuelcolburn tsjohns9

repo: typicode/json-server


text:
Zombie sessions

Description
Sometimes the web app becomes unresponsive or the compiler keeps crashing or some other weird behaviour happens and I need to reload the page.
After that I always get zombie sessions: the app thinks I am editing the file 3 times, but I only have one tab open.
How do I get rid of them?

Browsers
Firefox
OS
Windows, Linux
Btw.: where is the source for the web-app?

Btw.: where is the source for the web-app?

It is closed-source.

Fixed.

authors: PgBiel binarynoise laurmaedje

repo: typst/typst


text:
Top and bottom (⊤and ⊥) have different spacing around them

Description
$ top &= 1 \
  bot &= 2 $

$ bot &= 1 \
  top &= 2 $

yields

The spacing around ⊤ looks correct, whereas the spacing around ⊥ is too small.
Both symbols are defined here, so it is puzzling that one is rendered so differently from the other. Both "⊤" and "⊥" in the source code are sane Unicode characters (U+22A4 and U+22A5).
Reproduction URL
No response
Operating system
Linux
Typst version

[X] I am using the latest version of Typst

You can alter the spacing with https://typst.app/docs/reference/math/class/

This is sadly working as intended. Unicode defines the math class of U+22A4 (top) as "Normal", but that of U+22A5 (bot) as "Relation," which affects how Typst spaces those symbols. As explained above, you can override the math class with the class function.

Thanks a lot for your help! I now redefine bot as follows:
#let bot = math.class("normal", sym.bot)

I'd be curious what the person that defined ⊥ as relation was smoking ...

Probably confused it with ⟂ (U+27C2 PERPENDICULAR).

I think this was already discussed, but imo it would make sense for Typst to override the default class for bot.

I just found an existing bug report #3825 and the following discussion #3827.

I'm leaning towards considering the Unicode classification of bot as relation as bug, given that perp exists which (unlike bot) makes sense to see as relation. So I agree with you, @MDLC01, that it would make sense for Typst to override the default class for bot.

Ideally, this should be reported to Unicode (if this hasn't already been done and declined), but I'm not sure where that can be done.

I think this was already discussed, but imo it would make sense for Typst to override the default class for bot.

That's a whole can of worms that I don't think typst should get into.

When I have the time, I will try to reach out to the UC using the proper procedure for reporting errors. Given that I think math classes are only descriptive, I don't think this would be a breaking change.


text:
Pip3 installation error

Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python3.6/tokenize.py", line 452, in open
buffer = _builtin_open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-bu
ild-rc8d4tat/pyqt5/setup.py'
----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-
build-rc8d4tat/pyqt5/

OS: WSL
PyQt version: 5

following

authors: CRoed zhuohoudeputao

repo: tzutalin/labelImg


text:
Create ostream overload for enum Method

To easily print out the Method enum via logger an ostream overload, which converts enum to string would be nice

We can just repurpose LogConfigFile.cpp as general file for all sorts of ostream overloads. Or should we make a new file for each Struct, stuff that we want an overload for?


text:
fix to close call of a freedom manager

Small fix for close arguments of a FreedomModuleFactoryManager.
tested: grunt test

:+1:

authors: iislucas mollyling

repo: uProxy/uproxy-lib


text:
Update Scala 2.13, etc.

Pretty routine stuff.

Codecov Report

Merging #64 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #64   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           6      6
  Lines          84     84
  Branches        2      3    +1
=====================================
  Hits           84     84

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 94fb064...60e69ce. Read the comment docs.

authors: codecov-io travisbrown

repo: ua-parser/uap-scala

license: WTFPL


text:
xib

xib's default size is 600*600, the UI on Simulator won't be scaled by inferred, besides your demos... I'm weak in English, and hope u can understand my description...

Not sure exactly what you mean, but if you set up PageMenu as shown in the demos and in the Readme with the correct frame you should have no problems with resizing. If it is something within the view not resizing then it's not a problem with PageMenu, but rather with constraints on your UI elements not being set

I have debuged your demos: println("(self.view.frame.width),(self.view.frame.height)"). The result is:600,600. But if i design the UI by code, and set nil xib, just like: var controller1 : TestViewController = TestViewController(nibName: nil, bundle: nil), the size is OK~    God, ios is new to me...

It should all resize just fine if set up the same way as it is in the demos. Without seeing your set up I don't know what could cause the issue

Please ensure that this calc is done after the initial load (recommended in viewDidAppear:). This issue should be resolved as of 2.0.0

authors: MatthewYork chenenyu fahlout

repo: uacaps/PageMenu


text:
fix compile error on msvc

stdint.h not found on vs2008. this patch is refer to luajit/src/lj_def.h

:+1:
oops :smile:
I don't known why this compile with cmake I will look at the commands and flags which are used to compile, it also use cl.exe

authors: uael waruqi

repo: uael/sv


text:
Config file backward compatibility issue run stages not correctly implemented

Re-running the model with config.js files prior to commit: SHA ec4b90d06e051f53cfcbc41f90cc74192095f235 results in incorrect pre-run stage. This leads to no snowfall/snow accumulation and no active layer in transient run stage. It may be useful to implement default run stages if run settings below are not included:
"stage_settings": {
    "restart_mode": "restart",   // other options??
    "inter_stage_pause": false,
    //Per-stage module settings
    "pr": {
      "env": true,
      "bgc": false,
      "nfeed": false,
      "avlnflg": false,
      "baseline": false,
      "dsb": false,
      "dsl": false,
      "dyn_lai": false
    },
    "eq": {
      "env": true,
      "bgc": true,
      "nfeed": true,
      "avlnflg": true,
      "baseline": true,
      "dsb": false,
      "dsl": true,
      "dyn_lai": true
    },
    "sp": {
      "env": true,
      "bgc": true,
      "nfeed": true,
      "avlnflg": true,
      "baseline": true,
      "dsb": false,
      "dsl": true,
      "dyn_lai": true
    },
    "tr": {
      "env": true,
      "bgc": true,
      "nfeed": true,
      "avlnflg": true,
      "baseline": true,
      "dsb": false,
      "dsl": true,
      "dyn_lai": true
    },
    "sc": {
      "env": true,
      "bgc": true,
      "nfeed": true,
      "avlnflg": true,
      "baseline": true,
      "dsb": false,
      "dsl": true,
      "dyn_lai": true
    }
`

In general we don't guarantee backwards compatibility, but it would be good to have some sort of default for stage settings and a catch on the settings provided in the config file to ensure consistent results. As it is, if the stage settings in the config file are missing or malformed the result is uncertain.

authors: Benjamin-Maglio rarutter

repo: uaf-arctic-eco-modeling/dvm-dos-tem


text:
General questions about the library and its future

Hello, I've been looking at this project lately. It's definitely a good start for me, but to be able to use it, I would need some changes done. So I guess what I'm asking is whether you are planing to develop and support this package in the future? I'll do the work either way, would you accept pull requests, or should I just create my own fork?
Specifically, I'm looking to improve following:

security; if I'm not mistaken (and I might be), getting user id (owner id) from authorization request (here: https://github.com/uafrica/oauth-server/blob/master/src/Controller/OAuthController.php#L123) is a huge security problem; an attacker can basically authorize the client for any user (or all of them)
there are hardcoded login routes https://github.com/uafrica/oauth-server/blob/master/src/Controller/OAuthController.php#L123 and Auth component offers nice ways how to get rid of it
hardcoded model name https://github.com/uafrica/oauth-server/blob/master/src/Controller/OAuthController.php#L82 which can also be overriden by attacker to any random string (I dont see any risk in that now, but still)
CakePHP 3.3 is now PSR-7 compatible, league/oauth2-server 5 also is, maybe we can use that

Thanks for the response ;)

Hi @sukihub,
Yes, we are planning on developing and supporting this package into the future, and will happily accept pull requests.

security; if I'm not mistaken (and I might be), getting user id (owner id) from authorization reques

I don't think this is a problem, the controller action is only hit when a user clicks on the "approve" or "deny" buttons on the oauth authentication page. As long as your application has the security and csrf components loaded, you should never see an issue here.

there are hardcoded login routes

Yes, those should probably be changed to use the configuration from the Auth component.

hardcoded model name

Easily changed by using your own authorize.ctp template to override the default one.

CakePHP 3.3 is now PSR-7 compatible, league/oauth2-server 5 also is, maybe we can use that

Actually, 3.3 only has a PSR-7 compatible middleware, we'll need to wait for 3.4 to be able to update to  league/oauth2-server 5. I would also like to change this plugin to use middleware like the new cakephp [https://github.com/cakephp/authentication](authentication library)

I don't think this is a problem, the controller action is only hit when a user clicks on the "approve" or "deny" buttons on the oauth authentication page.
Yes, exactly. If I'm attacker, I'd let authentication page show up (using my credentials) and before hitting "approve" just insert hidden input owner_id with id of any user. Plugin then approves the app not for me, but for given user id. Or am I missing something here?

Yes, exactly. If I'm attacker, I'd let authentication page show up (using my credentials) and before hitting "approve" just insert hidden input owner_id with id of any user.

The security component will immediately black hole the request if a hidden field has been modified. The reason this exists is for cases the the oauth is done for something other than a standard user. In our case, the oauth token exists for the entire account (Which has multiple users)

By relying on the behaviour of the security plugin, does this mean that having the security component on full protection is a requirement for this plugin?

@Mirelath I guess yes.
@dakota I see. I currently have only very limited knowledge of OAuth, however it seems that the behavior you describe is specific to your application. I like the plugin, but maybe this doesn't need to be in it :) I'll share some ideas in a couple of days ;)

Hello again :)

The security component will immediately black hole the request if a hidden field has been modified.

Yes. But consider this. We are an eshop and we want to allow 3rd party apps to access electronic content that out customers bought (ebooks, audiobooks). And I'm just terrified of having an option which would enable attacker to access content of other customers. I know that security component should prevent it, but what if there's a bug? Way to work around it? I would prefer not to have that option there at all, and I think most people would also.
So, here's my idea. It allows app to override ownerId and ownerModel using OAuthServer.beforeAuthorize event: https://github.com/sukihub/oauth-server/compare/feature/login-redirect...sukihub:feature/credentials?expand=1
The way to use it your way would be:
EventManager::instance()->on('OAuthServer.beforeAuthorize', function () {
    return [
        'ownerId' => $this->request->data('owner_id') ?: $this->request->query('owner_id'),
        'ownerModel' => $this->request->data('owner_model') ?: $this->request->query('owner_model')
    ];
});

@sukihub That is a very good idea!

authors: Mirelath dakota sukihub

repo: uafrica/oauth-server


text:
Adding grpc comments designed for api generation

A rough idea of whats going on. Still needs tweaks to add fullstops

Superseded by #113.

repo: uatuko/ruek


text:
:)

Hey there, I saw this and I was really impressed! Is it usable on Windows? Also, I can't seem to see the problem_id of a problem, even after inspecting element. Could you help? My email is slennon.5569@gmail.com , could we discuss there? Thank you so much!

It works on Linux system. Can be used on Windows using Linux subsystem for Windows.


text:
Unable to compile and build project

Please help.
Getting build failure.

@ashishd751 were you able to setup this project?

@tygrash no, I wasn't

have you follow the documentation page? could you paste some details regarding your setup / maven / environments and the error messages

authors: ashishd751 tygrash walterddr

repo: uber/AthenaX


text:
Add binary releases

This adds goreleaser and integrates it with Travis so that new binaries will
automatically be uploaded to Github when a tag is pushed.

Hoping this gets merged!! =)

authors: dansimau osterman

repo: uber/astro


text:
Create non-transient decision when current version updates

What changed?
Create non-transient decision when current version updates
@wxing1292

Why?
T0: DecisionVersion:1 CurrentVersion:1 LastWriteVersion:1
T1: Failover Version++ & DecisionTask timed out. Transient decision created.
DecisionVersion:2 CurrentVersion:2 LastWriteVersion:1
T2: Sanity check: DecisionVersion != LastWriteVersion

How did you test it?
Local server test

Potential risks

Coverage increased (+0.009%) to 63.904% when pulling 46b88bd0ef7bbf2666c066e2a3d1e7a8e65a1de9 on last_write_version into ce50c5690de58d971dedbfc3faccb739649fcd26 on master.

repo: uber/cadence


text:
zig tracking issue

This issue lists what's important to hermetic_cc_toolchain from upstream zig.
Universal headers
Users of hermetic_cc_toolchain tend to run on older versions of glibc (e.g. 2.24 is still known to be used by some as of writing). The bigger the discrepancy, the higher the risk of each glibc upgrade.
Universal headers would mitigate the glibc upgrade risks. We are eaglerly waiting.
Pre-filling zig cache folder
Bazel is in principle a hermetic toolchain: it needs to know all inputs and outputs of each target (target in this context is a Makefile-target). In the ideal world, when building a binary, Bazel creates an empty directory, puts in all inputs and outputs, chroots there, and invokes the build command. The only allowed external ABI is linux kernel.
However, zig's cache folder goes against that: for Bazel, Zig cache folder is an opaque directory that we have to pass through. We must share the Zig cache, otherwise each linking action takes an extra ~1 minute (mostly for glibc and libcxx). The current hermetic_cc_toolchain instructions ask the user to pass-through /tmp from their chroot to the host:
build --sandbox_add_mount_pair=/tmp

ZIG_GLOBAL_CACHE_DIR is configured to be /tmp/zig-cache. With this flag, different Zig invocations can share the cache. This approach has the following disadvantages:

if /tmp is shared across different Unix users, it will spew "permission denied" errors.
does not work well with remote execution.
every user of hermetic_cc_toolchain is non-hermetic by design. If you look at the name of the project, it's more than ironic.
folks from Bazel community, please chime in more in the comments.

Note that we only care for glibc (including crt*), libcxx and similar. We do not care about caching of the intermediate object files that the user builds: Bazel is aware of them and caches it on it's own.
Suggestion
Create a zig sub-command that pre-compiles all the necessary "system" stubs for a given -target and -mcpu into a directory, tarball or whatever. The following zig cc commands should accept the path to the artifact as an environment variable. That way, Bazel knows all the requisites it needs to build a specific target.
Prior art: that's what rules_go does for Go. In Go case it's simpler, because there is ineed a single .a file for each GOOS (linux, windows, etc) and GOARCH (arm64, amd64, etc) combination.
Possible complications
System stubs rely on more than -target and -mcpu: optimization flags, debug info and much more are all taken into account when compiling, say, crt*.o. We need to find the balance between the number of the flags we want to support versus building the most optimized intermediate artifact that zig dynamically or statically links.

closing in favor of #153


text:
[Question] About hoodie upsert dedup scope - within / across partitions?

If we have 2 records with the same key will end up in 2 partitions, will hoodie dedup them

if a spark upsert batch run reads both records as input (or precombined)?
if one is in the spark upsert batch run and the other already in the table?
what if we update the column for partition of an existing record, will it end up in another partition?

@n3nash Thanks for the explanation!

@n3nash is there a good way to dedup based on key across the partition in hudi?

@leletan There is no way to dedup across partitions but you can dedup within a partition. As mentioned, HoodieKey is the lowest granularity of dedup, a HoodieKey consists of {UUID, partition-path} and if you have the same UUID across different partition paths, they are treated as different rows. What's your use-case ? May be I can suggest other workarounds.

Thanks for the info @n3nash.
Here is our use case, it should be pretty common:
We are logging events from servers with event_id but not guaranteed to be exactly once delivery, and we need to partition them into daily partition folders. Is there an easy way to guarantee the uniqueness on the event_id across all partitions?

Thanks @n3nash . Please correct me if I am wrong:
Likely Hoodie is not the right tool to dedup globally at scale, might need to add another layer of kv lookup cache before hoodie.
Wondering if uber has the same use case and if yes how to deal with this.

For large log scale data feeds (think Kafka/Kinesis events), actually a kv store may also be a hard thing to pull off. For database feeds, we have a HBaseIndex which does what you described. Its a tradeoff -
a) HoodieBloomIndex  - does not support dedup globally (mostly coz we thought it would be expensive, you can make it do that depending on your datasets), but no extra operational overhead
b) HBaseIndex - global dedup, but you need to make sure you can operate the datastore really well without dataloss and its okay to take on the operational load.
hope that makes sense

authors: leletan n3nash vinothchandar

repo: uber/hudi


text:
better threading docs required. & onContactsDataSourceReadySignal is not always dispatched to the main thread

onContactsDataSourceReadySignal
2016-11-07 06:30:07.113 OhanaExample[71212:3367760] <NSThread: 0x7f83a6492460>{number = 2, name = (null)}
I think this was caused by the OHABAddressBookContactsDataProvider calling back on a background thread.
There's a generally larger task required here: Ohana's threading isn't very well defined.
We've generally assumed operation on Main. This is fine, but the contract with dataProviders and postProcessors should be better defined to dictate how they can offset work.

I can feel that we should always be on main thread in our callbacks. I wonder if @Darj should complete a possible RxSwift conversion before tackling this

yes, we should build this assumption into the framework.

Yeah from memory all this pain was to do with the callback assumptions from UBSignals, the docs should be more explicit. While the Rx port will 'fix' this we should still update it here at some point.

authors: Darj maxwellE zethraeus

repo: uber/ohana-ios


text:
Allocate rightmost available dim in iaranges by default

The current dim allocation behavior for iarange is to allocate the dim to the left of the last allocated dim (and start with the right-most dim). By default, this allocation looks like -1, -2, -3, etc.. If the user manually allocates a dim, the next allocated dim is to the left of this. So for instance, if the outermost dim starts at -3, the dim allocation scheme will be -3, -4, -5 where the first two dims will continue to remain empty.
This proposes a minor change to our default dim allocation scheme so that we allocate the rightmost available dims by default instead of to the left of the last allocated one. So for the previous example, the dim allocation will be -3, -1, -2. As such, default allocation is from the rightmost available and manual placement can be used to deviate from this.
with pyro.iarange("outer", 100, dim=-3):    # dim allocated: earlier = -3, now = -3
    with pyro.iarange("inner", 10):         # dim allocated: earlier = -4, now = -1
        with pyro.iarange("innermost", 5):  # dim allocated: earlier = -5, now = -2
        ...

This will make it easier to wrap existing models inside an outermost num_particles iarange in an automatic way, for instance, without the user having to manually specify dim placement.
Impact:
This will only impact models where the users were relying on this behavior of default allocation to the left of the last assigned dim, i.e. have an outer iarange with a dim arg, but not specifying the dim arg in the inner iaranges, as in the code above. In almost all such cases, we have been using the dim arg in the inner iaranges as well so as not to have empty iarange dims, so this seems like a low impact change, even if it deviates from our existing behavior.
The following examples would work before this PR but would fail after:
@poutine.broadcast
def model_1():
    with pyro.iarange("foo", 2, dim=-2):
        with pyro.iarange("bar", 3):
            x = pyro.sample("x", dist.Normal(0., 1.))
            assert x.shape == (3,2,1)  # after this PR, shape == (2,3)

def model_2():
    foo = pyro.iarange("foo", 2, dim=-2)
    bar = pyro.iarange("bar", 3)
    baz = pyro.iarange("baz", 4, dim=-1)  # errors after this PR
    assert bar.dim == -3  # after this PR, bar.dim == -1

Please do not merge this breaking change. Let's chat on Monday.

Please do not merge this breaking change. Let's chat on Monday.

Sounds good, this isn't urgent.

This should have no impact on existing models since in all of these cases, we were anyways manually allocating all the dims

Why is the conclusion here different from the conclusion in #1115, where we decided not to make this breaking change?  If the goal is to implement parallel ELBO evaluation (#791), is there a way to address that more specifically?

I think it's fine to make a breaking change as long as there is negligible probability that users have written a breakable model. But let's at least find the simplest example of a model that would be broken.

Good idea. I added an Impact section - will be adding a few more failure scenarios for illustration.

Why is the conclusion here different from the conclusion in #1115, where we decided not to make this breaking change?

This preserves the existing allocation scheme, just that it changes where to start the dim allocation from, in a way that should have minimal impact to existing models. I am having a hard time thinking of working models that would break with this change. I have added the discussion tag to this PR for now, until we are all convinced that this is safe. I will update the Impact section too with a few examples. Let me know if you can foresee models where this would be an issue.

If the goal is to implement parallel ELBO evaluation (#791), is there a way to address that more specifically?

To be clear, #791 can be implemented without this change, if the user takes care to augment every iarange with a dim arg. Ideally, a user should be able to wrap their existing model/guide and call SVI with parallel num particles, so asking them to make unrelated changes to their model to use this feature, seems like a leaky abstraction which this PR tries to fix. This seemed like a fix with minimal changes, and reasonable default behavior. But I'm open to other suggestions too!

I will update the Impact section too with a few examples. Let me know if you can foresee models where this would be an issue.

Hmm, you're right, after looking at the examples it doesn't seem so invasive.  I should be able to adapt my vectorization stuff pretty easily to the new semantics.

Thanks for the review, @fritzo! I would just like to test the updated PR with the num particles change. Will update when this is ready to merge.

that will give us an excuse to cut a minor release and post a breaking change notice to forum.pyro.ai. We can pull the pre-1.0 card for this PR, but let's try to avoid doing this often.

Agreed, I don't foresee any further breaking changes with the broadcasting semantics at least.

Any other objections before merging this?

There was one issue that I wanted to bring up. As this stands, if we have an outer iarange with dim < -1, the inner iaranges will start getting allocated from -1 but once the inner dims are expended, we will start allocating to the left. This can have issues when say the user specifies a lower value for max_iarange_nesting. e.g. in the code snippet below, if the outer iarange corresponds to num_particles, we'll have that enmeshed midway, and we'll have a wrong value for max_iarange_nesting for parallel enumeration.
with pyro.iarange("outer", dim=-2):     # dim=-2
    with pyro.iarange("inner_1"):       # dim = -1
        with pyro.iarange("innder_2"):  # dim = -3

I'm not sure if that would be an issue, and we can address that in #1176  itself. Fine to merge otherwise.

we'll have a wrong value for max_iarange_nesting for parallel enumeration.

We could just set a reasonable default for this in our ELBO implementations

Good to merge, pending any further concerns / comments.

authors: eb8680 fritzo neerajprad

repo: uber/pyro


text:
Fix operator-linebreak rule. Should be after not before

Fixes https://github.com/uber/standard/issues/25

lgtm.

authors: Raynos malandrew

repo: uber/standard


text:
Add className option for fixtures

In the docs you suggest you can pass a className key to fixtures yet you never carried it forward to the suggest object.

Good catch, thanks a lot!

Released in 1.19.0.

authors: bkellgren ro-ka

repo: ubilabs/react-geosuggest


text:
Add onKeyDown and onKeyPress event handlers to the input field

Checklist

[x] All tests passing
[x] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary
[x] Commits and PR follow conventions

Thank you for your PR! But I'm not completely fine with the fact that we have the keyDown event that is handled in two areas of the component. @Scarysize what do you think?
Anyway, the new props need some documentation. And it should be clearly mentioned that we have this special case for event propagation in the component. I would suggest a whole new paragraph in the readme.

heh, man, why did you ask for pull request then if you aren't sure about it?

First, I did not ask for a PR, my colleague did. We work at the same company but are different persons with different opinions. I just put my concerns in here.
Second, from my understanding @ro-ka said that the keyDown event is already in use but the keyPress event could be used. And that's the same thought that I addressed.

I've deleted onKeyDown event handler, onKeyPress has left

Hey @antoniopuero. Thank you for the changes. That looks very good to me. Can you add a description to the README.md please?

Readme has been updated, translation could be weak though

Ok for me. @Scarysize it's your turn. Merge when ready.
@antoniopuero Thanks again!

no worries, sorry for being a douchebag :)

Thanks!

authors: Scarysize antoniopuero yfr


text:
refactor: direct governance to facet

Resolves #773
after #777

Closing because of inactivity

repo: ubiquity/ubiquity-dollar


text:
feat: add zfs-scrub systemd units

Add zfs scrub systemd units to ucore to allow for easy configuration of periodic scrubbing of zpools.
I don't see any easy way to only have these unit files available for -zfs images only, however the main zfs-scrub@.service has a condition check in it to ensure it can't run if ZFS is not installed.

Add zfs scrub systemd units to ucore to allow for easy configuration of periodic scrubbing of zpools.

This is great! Thank you! Somehow I completely missed your PR submissions until last night when I was too tired to respond.

I don't see any easy way to only have these unit files available for -zfs images only, however the main zfs-scrub@.service has a condition check in it to ensure it can't run if ZFS is not installed.

I think the unit files look great with excellent use of Conditions.
Regarding the best way to conditionally add the unit files... while in-unit Conditions are good, I agree it would be best to not include them unless on a ZFS image.
I think the "best" way would be to start building a ublue-os-ucore-zfs RPM like the ublue-os-ucore-nvidia RPM built in the ucore-kmods repo. That RPM would only be installed with the other zfs RPMs as you can see in install-ucore.sh.
Thoughts on this approach?

I like the use of the monotonic timer units

I think the "best" way would be to start building a ublue-os-ucore-zfs RPM like the ublue-os-ucore-nvidia RPM built in the ucore-kmods repo. That RPM would only be installed with the other zfs RPMs as you can see in install-ucore.sh.
Thoughts on this approach?

I think the approach is great! It's what I was looking for but couldn't find it, hence this solution. But I don't personally have enough time/expertise to build this. If the base is built, then I'm happy to put a PR onto it with these timers.

If the base is built, then I'm happy to put a PR onto it with these timers.

I'm working on a base and I'll let you know when it's ready for you to PR the timers.

@Eelviny I want to apologize for completely dropping the ball on getting a framework setup for packaging this PR in an RPM.
Things have shifted a bit at this point.  I'd like to just get this added now, and if we can move to an RPM at sometime, that'll be a nice to have.
All said, I've been doing some local testing by manually copying in the timer and service units to one of my systems.
I do think there's a problem.
I have a zpool called zfundata.
root@glamdring:~# zpool list zfundata
NAME       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
zfundata  9.09T   732K  9.09T        -         -     0%     0%  1.00x    ONLINE  -

I enabled a weekly scrub timer for it:
root@glamdring:~# systemctl enable --now zfs-scrub-weekly@zfundata.timer
Created symlink '/etc/systemd/system/timers.target.wants/zfs-scrub-weekly@zfundata.timer' → '/etc/systemd/system/zfs-scrub-weekly@.timer'.

we can check the timer status to see the service unit to run
root@glamdring:~# systemctl status zfs-scrub-weekly@zfundata.timer
● zfs-scrub-weekly@zfundata.timer - Weekly zpool scrub timer for zfundata
     Loaded: loaded (/etc/systemd/system/zfs-scrub-weekly@.timer; enabled; preset: disabled)
     Active: active (waiting) since Sun 2024-11-17 15:50:17 CST; 1min 2s ago
 Invocation: b46dad94299f4a809d80ac732f1c8a02
    Trigger: Mon 2024-11-18 00:34:44 CST; 8h left
   Triggers: ● zfs-scrub@zfundata.service
       Docs: man:zpool-scrub(8)

Nov 17 15:50:17 glamdring systemd[1]: Started zfs-scrub-weekly@zfundata.timer - Weekly zpool scrub timer for zfundata.

and i'll manually run the service as a test:
root@glamdring:/~# systemctl start zfs-scrub@zfundata.service
root@glamdring:~# systemctl status zfs-scrub@zfundata.service
× zfs-scrub@zfundata.service - zpool scrub on zfundata
     Loaded: loaded (/etc/systemd/system/zfs-scrub@.service; static)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: failed (Result: exit-code) since Sun 2024-11-17 15:51:33 CST; 1s ago
   Duration: 22ms
 Invocation: 8b941f5ae35f44819bb20f0ad1740694
TriggeredBy: ● zfs-scrub-weekly@zfundata.timer
       Docs: man:zpool-scrub(8)
    Process: 3486799 ExecStart=/bin/sh -c  if @sbindir@/zpool status zfundata | grep -q "scrub in progress"; then exec @sbindir@/zpool wait>
   Main PID: 3486799 (code=exited, status=127)
   Mem peak: 1.2M
        CPU: 5ms

Nov 17 15:51:33 glamdring systemd[1]: Started zfs-scrub@zfundata.service - zpool scrub on zfundata.
Nov 17 15:51:33 glamdring sh[3486800]: /bin/sh: line 1: @sbindir@/zpool: No such file or directory
Nov 17 15:51:33 glamdring sh[3486799]: /bin/sh: line 1: /@sbindir@/zpool: No such file or directory
Nov 17 15:51:33 glamdring systemd[1]: zfs-scrub@zfundata.service: Main process exited, code=exited, status=127/n/a
Nov 17 15:51:33 glamdring systemd[1]: zfs-scrub@zfundata.service: Failed with result 'exit-code'

So it looks like the @sbindir@ isn't getting expanded properly.  I would guess it's due to the use of that symbol within a wrapped shell script:
EnvironmentFile=-@initconfdir@/zfs
ExecStart=/bin/sh -c '\
if @sbindir@/zpool status %i | grep -q "scrub in progress"; then\
exec @sbindir@/zpool wait -t scrub %i;\
else exec @sbindir@/zpool scrub -w %i; fi'
ExecStop=-/bin/sh -c '@sbindir@/zpool scrub -p %i 2>/dev/null || true'

I'm curious if you've moved forward using this on your own and if you have an improvement to add here?
Thanks!

Ah good spot, yes I had already found this and applied a fix to my own machine, but forgot to bring it back into the PR, apologies for that.
I'm not god-tier experienced with systemd so I wasn't sure how to fix that exact issue, but I figured that since we're in full control of the system here and where the binaries are located, hardcoding the binary location won't be as much of an issue. Lmk your opinion on that. All I can say is, the above fix works on my machine

I figured that since we're in full control of the system here and where the binaries are located, hardcoding the binary location won't be as much of an issue.

I'm good with this. Thank you!

authors: Eelviny bsherman dylanmtaylor

repo: ublue-os/ucore


text:
Can't use localhost:25000 for the cluster agent.py API

Hello,
I 've been trying to user the agent.py API in order to get the status of the cluster.
However localhost:25000/cluster/api/v1.0/status doesn't work. In fact, localhost:25000 doesn't work at all. I have attached the inspection tarball.
Thanks.
inspection-report-20200126_213715.zip

@ktsakalozos it doesn't really matter actually because calling localhost:25000/cluster/api/v1.0/configure doesn't work either, even when I send a json as body for the post request.

@giorgos-apo what error do you get when you call the configure endpoint?

@balchua I get a Couldn't get any response error. I am wondering though, in case I have microk8s running, is there any request I can do in order to know if cluster agent is running properly?

@giorgos-apo no status code is returned too? Thats strange.

@balchua I am actually making the call using postman and the response I get looks like that:

Could not get any response

There was an error connecting to localhost:25000/cluster/api/v1.0/configure
Why this might have happened:
The server couldn't send a response:Ensure that the backend is working properly
Self-signed SSL certificates are being blocked:Fix this by turning off 'SSL certificate verification' in Settings > General
Proxy configured incorrectly Ensure that proxy is configured correctly in Settings > Proxy
Request timeout:Change request timeout in Settings > General

Thanks, so its not hitting the agent.  Postman is not allowing the handshake because its self signed cert.
You need to turn off ssl cert verification in postman.

@balchua thanks but unfortunately I get the same error.
I am providing a screenshot:

Below you can see my general settings:

And below you can see my proxy settings:

@giorgos-apo what if you add a json body?
Lets try restarting kube-proxy.  And make sure we point to the master node https://masterip:25000
With the content-type as application/json
   {
     "callback": "xyztoken"
     "service":
     [
       {
         "name": "kube-proxy",
         "restart": True
       }
     ]
   }

@balchua hello again! so here is the outcome:

If I don't use https:// then it responds with the previous error (Could not get any response)

@giorgos-apo so this is looking good, i mean it is now hitting the cluster agent configure endpoint.
If you follow through the code, i guess it threw that error due to the wrong callback token.
Try creating a file under /var/snap/microk8s/current/credentials/callback-token.txt and add a row xyztoken.
Then hit the configure endpoint again with the same json body.

@balchua Unfortunately after creating the file and changed its ownership and permission to root:microk8s and 644, I still get the same error. If I change the callback on the json request (for example if I put "callback": "sjsjxy") then I receive a invalid token. So I feel like I am close...

@ktsakalozos @balchua hello both! I have been trying to run this:

As you can see I get an error 500 in the request.
So after viewing the logs I got that back:
 microk8s.daemon-cluster-agent[1089]:   File "/snap/microk8s/1173/lib/python3.5/site-packages/flask/app.py", line 2446, in wsgi_app
 microk8s.daemon-cluster-agent[1089]:     response = self.full_dispatch_request()
 microk8s.daemon-cluster-agent[1089]:   File "/snap/microk8s/1173/lib/python3.5/site-packages/flask/app.py", line 1951, in full_dispatch_request
 microk8s.daemon-cluster-agent[1089]:     rv = self.handle_user_exception(e)
 microk8s.daemon-cluster-agent[1089]:   File "/snap/microk8s/1173/lib/python3.5/site-packages/flask/app.py", line 1820, in handle_user_exception
 microk8s.daemon-cluster-agent[1089]:     reraise(exc_type, exc_value, tb)
 microk8s.daemon-cluster-agent[1089]:   File "/snap/microk8s/1173/lib/python3.5/site-packages/flask/_compat.py", line 39, in reraise
 microk8s.daemon-cluster-agent[1089]:     raise value
 microk8s.daemon-cluster-agent[1089]:   File "/snap/microk8s/1173/lib/python3.5/site-packages/flask/app.py", line 1949, in full_dispatch_request
 microk8s.daemon-cluster-agent[1089]:     rv = self.dispatch_request()
 microk8s.daemon-cluster-agent[1089]:   File "/snap/microk8s/1173/lib/python3.5/site-packages/flask/app.py", line 1935, in dispatch_request
 microk8s.daemon-cluster-agent[1089]:     return self.view_functions[rule.endpoint](**req.view_args)
 microk8s.daemon-cluster-agent[1089]:   File "/snap/microk8s/1173/scripts/cluster/agent.py", line 412, in configure
 microk8s.daemon-cluster-agent[1089]:     subprocess.check_call("{}/microk8s-disable.wrapper {}".format(snap_path, addon["name"]).split())
 microk8s.daemon-cluster-agent[1089]:   File "/snap/microk8s/1173/usr/lib/python3.5/subprocess.py", line 576, in check_call
microk8s.daemon-cluster-agent[1089]:     retcode = call(*popenargs, **kwargs)
 microk8s.daemon-cluster-agent[1089]:   File "/snap/microk8s/1173/usr/lib/python3.5/subprocess.py", line 557, in call
 microk8s.daemon-cluster-agent[1089]:     with Popen(*popenargs, **kwargs) as p:
 microk8s.daemon-cluster-agent[1089]:   File "/snap/microk8s/1173/usr/lib/python3.5/subprocess.py", line 947, in __init__
microk8s.daemon-cluster-agent[1089]:     restore_signals, start_new_session)
microk8s.daemon-cluster-agent[1089]:   File "/snap/microk8s/1173/usr/lib/python3.5/subprocess.py", line 1551, in _execute_child
 microk8s.daemon-cluster-agent[1089]:     raise child_exception_type(errno_num, err_msg)
 microk8s.daemon-cluster-agent[1089]: FileNotFoundError: [Errno 2] No such file or directory: '/var/snap/microk8s/1173/microk8s-disable.wrapper'

I believe the last line says everything... But could anyone explain me what that is? Why doesn't it exist? and what does it do if it exists?

@giorgos-apo you found a bug in our code.
In https://github.com/ubuntu/microk8s/blob/master/scripts/cluster/agent.py#L19 snap_path should be os.environ.get('SNAP'). If you follow the code of the configure you will see it tries to find the microk8s-enable.wrapper under  snap_path and that should be where the $SNAP variable point.
Would you be interested in a PR to fix this? Thank you.

@ktsakalozos sure I will do that the sooner possible! Thanks for the help anyway!

@ktsakalozos @balchua Hello both!  I am still struggling with this issue unfortunately.
I have been executing the following, having gpu enabled:

However, when I see the logs using journalctl -fu snap.microk8s.daemon-cluster-agent command, I face the following issue:
[2020-02-24 20:39:41 +0200] [1720] [CRITICAL] WORKER TIMEOUT (pid:4016)
[2020-02-24 20:39:41 +0200] [4016] [INFO] Worker exiting (pid: 4016)
[1172]: gpu
[1172]: Disabling gpu
[1172]: [2020-02-24 20:39:41 +0200] [15920] [INFO] Booting worker with pid: 15920

I am monitoring all namespaces using watch -n 1 microk8s.kubectl get all --all-namespaces and unfortunately nothing changes.
Any idea please?

@giorgos-apo if you run microk8s.enable gpu from command line is it going through?  Or you are seeing the same error?

@balchua I can run and execute anything from the command line. BUT, when I run microk8s.enable gpu it asks for sudo password. So, I was thinking that maybe this is the issue with the agent.

Oh you may want to add the user into the microk8s group.  If you run microk8s.status it should suggest you to add your user to microk8s group.

@balchua Unfortunately nothing changed. And the command microk8s.status doesn't suggest anything.

Can try something simpler like enabling dns?

@balchua same issue unfortunately. It says gpu enabled and then request
timeout
On Sat, Feb 29, 2020, 14:08 balchua notifications@github.com wrote:

Can try something simpler like enabling dns?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ubuntu/microk8s/issues/937?email_source=notifications&email_token=ACC7O5QGNNTMGB2DAZP6EILRFD5C7A5CNFSM4KLYZS5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENLYNKY#issuecomment-592938667,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACC7O5SABVBI2FNO5GIF3BDRFD5C7ANCNFSM4KLYZS5A
.

@giorgos-apo there are some addons that require sudo because it downloads binaries and keeps into directories that are owned by root.
What if you install and start microk8s as root?

@balchua Hello,

I  have reinstalled microk8s using sudo snap install microk8s --classic --edge.
I have created a file in the credentials directory called callback-token.txt with the content mytoken.
I have sudo chown root:microk8s callback-token.txt
I have sudo chmod 660 callback-token.txt
I have sudo microk8s.start
I have sent the following request:

I have received the following (microk8s.kubectl get all --all-namespaces on top and journalctl -fu snap.microk8s.daemon-cluster-agent on bottom):

Thats great!!

@balchua in what way? I mean it didn't work.

I didn't try gpu so i thought that it did enable gpu because it showed something in the log.
Again, when u execute enable gpu from command line, do you get enter password?

@balchua no I don't. I can enable it easily without password.

authors: balchua giorgos-apo ktsakalozos


text:
Feat/tools

Rebased & squash'd old 42 commits. Completed all individual cwl-tool steps and organized repo.

It seems I drop'd a commit and lost a file.

repo: uc-cdis/cwl


text:
Add nodeSelector to portal

Bug Fixes
nodeSelector is in the values.yaml for the portal subchart, but not in the deployment template itself. This adds the value to the template so that it works as expected given its inclusion in the values.yaml

thank you for the fix, this change has been added via the below PR:
https://github.com/uc-cdis/gen3-helm/pull/194


text:
Enhancements to Tournament Creation and Editing for Non-Staff Users

Description:
This PR relates to issue #172 and introduces several key updates to the tournament management system, focusing on the capabilities of non-staff users. The changes are aimed at providing non-staff users with greater autonomy in creating and managing tournaments while maintaining necessary oversight and control mechanisms. The updates include modifications to both the front-end (CRUD pages) and the back-end (Tournament model and related views).
Key Changes:

Tournament Creation with Token Usage: Non-staff users can now create tournaments, deducting one token from their account per tournament created. This enforces a token-based permission system, integrating with the User team's token management functionality.

Partial Edit Control for Tournament Creators: Creators of a tournament (non-staff users who created a tournament) have been granted partial editing control over their tournaments. This includes updating certain attributes of the tournament. However, they cannot add or remove matches or players – actions which require staff intervention.

Access Control on Tournaments: Non-staff users can only access tournaments they are part of. The TournamentListView has been modified to filter out tournaments that the user is not participating in, enhancing privacy and focus.

Restriction on Tournament Deletion: Non-staff users are not permitted to delete or disable tournaments they created. Such actions must be routed through staff users due to the complex backend events triggered by a tournament's deletion.

Model Enhancements: The Tournament model has been updated to include a created_by field, ensuring clarity on ownership. This field is critical for implementing the above functionalities, particularly around editing permissions and access control.

Technical Details:

TournamentCreateView and TournamentUpdateView have been modified to check the user's token balance and ownership, respectively. TournamentCreateView deducts one token for each tournament created.
The Tournament model's created_by field links to the User model, establishing tournament ownership.
The get_queryset method in TournamentListView filters tournaments based on user participation and staff status.
distribute_tokens() is a future-proof function for automatically reloading each user’s token balance after 30 days. It has been commented out so that the Users group can make necessary modifications to their User model beforehand.

Thanks for the commentary @MuyanXie. The distribute_token() function is commented out in this PR because I cannot change the User model without the Users group discretion. This prevents me from manually adding a last_token_addition attribute which is necessary for a full implementation of distribute_token(). However, I am leaving it in this PR so that the Users group can easily add it in the future.

That makes sense. I'll go ahead and approve this PR

Thanks @elizabethli31. I've implemented each of your recommended changes for token subtraction, admin players, and users. I've also committed some changes related to merging with the dev branch.
Please take a look.

Also please rebase first because Mike and Sam added a pretty significant change with registration periods!

Hi @elizabethli31 I've implemented the following changes:

Hidden delete button for non-staff users to avoid forbidden page.
Fixed partial edit control for adding/removing players in tournaments.
Implemented redirection to tournaments page with error messages instead of forbidden page.
Corrected validation for adding players to unstarted tournaments.

Hello @elizabethli31 please see the changes to my migrations and views page for the requested changes.

Closing Statement:
@jb-01 contributed to the code for the models and CRUD pages to directly support non-staff functionality.
@MikeChen012345 advised the addition of the created_by attribute in our updated model classes for tournaments.
@Riyush worked on how to structure the user interactions for staff and non-staff users, specifying the frontend behavior.
@MuyanXie reviewed our code and provided feedback related to properly distributing tokens.

Issue Score: Satisfactory
Comments:
Great work implementing this PR. Points are docked for the PR being rubber-stamped, as I had to do a significant amount of testing and requesting changes after it was approved.

repo: uchicago-cs/chigame


text:
glove.840B.300d.memory_map_dir  this file is not available

http://data.neuralnoise.com/jack/embeddings/glove.840B.300d.memory_map_dir.tar.gz link not working

Have you solved it?

repo: uclnlp/jack


text:
Transactions : wrong rows display

In cutecoin v0.8, I can see 5 transactions I made on block#2592 (clock was on 08/02/2015). However public key and payment fields do not match what I really sent.
On http://www.metab.ucoin.io, I can see that I've sent:
HnFcSm sent 15 units to 8Fi1VS (change was 13 units)
HnFcSm sent 124 units to RdrHvL (change was 1 units)
HnFcSm sent 248 units to 8Fi1VS (change was 10 units)
HnFcSm sent 21 units to 37qBxM (change was 21 units)
HnFcSm sent 26 units to 5ocqzy (change was 92 units)

cutecoin seems to display the last one (5ocq is kimamila) 5 times, instead of displaying 5 different values. The comment column seems right however, but I'm not sure.

This is weird. Could you paste somewhere your wallet cache ? You can send me in private if you need.

http://pastebin.com/3Gm9S4Tc

Okay there is a problem.
{
                "metadata": {
                    "amount": 26,
                    "block": 2592,
                    "issuer": "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk",
                    "receiver": "5ocqzyDMMWf1V8bsoNhWb1iNwax1e9M7VTUN6navs8of",
                    "time": 1423406760
                },
                "state": 2,
                "txdoc": "Version: 1\nType: Transaction\nCurrency: meta_brouzouf\nIssuers:\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk\nInputs:\n0:T:463:279878EE2BB8FE85EF618800D83409454CC3B2AF:28\nOutputs:\n8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:15\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:13\nComment: \njTBTfjxBQK8xtyI9PUhjdGkKb+oXr2v4q9MJpTuFxvgjPgLHbr5Q3fm+vvxFKMpEzkB8onDNaLC5gUg2afr8Bw==\n"
            },
            {
                "metadata": {
                    "amount": 26,
                    "block": 2592,
                    "issuer": "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk",
                    "receiver": "5ocqzyDMMWf1V8bsoNhWb1iNwax1e9M7VTUN6navs8of",
                    "time": 1423406760
                },
                "state": 2,
                "txdoc": "Version: 1\nType: Transaction\nCurrency: meta_brouzouf\nIssuers:\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk\nInputs:\n0:T:584:E09A2A4F656EC16A01FF5E4E67BFDA0983036C52:11\n0:D:585:00000BACF5EEE5A75AAC05AE5A97CACE74782CAA:100\n0:T:592:4F28C917886EAEE4C11F30652B09C2CF23A7BFE0:14\nOutputs:\nRdrHvL179Rw62UuyBrqy2M1crx7RPajaViBatS59EGS:124\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:1\nComment: :)\nN9CoWOFNav8Uat2ZJ+UfKL4AvxON732JSera7n3ZJ8Vz/IGyj1CtTsohfO5Fji02Xnp8BBU1g2RVjvtEM5DkBA==\n"
            },
            {
                "metadata": {
                    "amount": 26,
                    "block": 2592,
                    "issuer": "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk",
                    "receiver": "5ocqzyDMMWf1V8bsoNhWb1iNwax1e9M7VTUN6navs8of",
                    "time": 1423406760
                },
                "state": 2,
                "txdoc": "Version: 1\nType: Transaction\nCurrency: meta_brouzouf\nIssuers:\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk\nInputs:\n0:T:602:5BC74C30C478C94C29561D1C813C517EB5F181AD:5\n0:T:606:37495D27D1ABAB6582089A088C90377E04093D9A:5\n0:T:607:07D34F98071F0C9003D902EA3F11392615720DD0:5\n0:T:608:536D457F777643ACAEA892ACFE5259C42BA84F76:15\n0:D:633:0000074B29EFB774A1E112C76360E3C85BECF93A:100\n0:T:666:01D0EEA00AD06E7B4AB76997FD622D7227D58528:10\n0:T:668:B3D50FBF3DD5E2294D8C8851609F04008EAEE036:88\n0:T:668:99334DB643A6F6E9F90AA1204D5B5AF643FED977:30\nOutputs:\n8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU:248\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:10\nComment: For your tests :p\nTAPZXqmIaJgfANoyIZbfGmqPi3OR82f6j3sDKdxH9MHEg/MOoqkzIjYtXJOdHtewiF6uNQrR9J9uICsoW6KACg==\n"
            },
            {
                "metadata": {
                    "amount": 26,
                    "block": 2592,
                    "issuer": "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk",
                    "receiver": "5ocqzyDMMWf1V8bsoNhWb1iNwax1e9M7VTUN6navs8of",
                    "time": 1423406760
                },
                "state": 2,
                "txdoc": "Version: 1\nType: Transaction\nCurrency: meta_brouzouf\nIssuers:\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk\nInputs:\n0:T:668:B683768ABBB216EAC61EF10E4CF2C390C56009DD:8\n0:T:673:E4C7D901EF99A75678C9373F6298CBC2C8BEEBA9:7\n0:T:676:D080D9F38336B4167042E21154393BEF3AA8C662:27\nOutputs:\n37qBxM4hLV2jfyYo2bNzAjkeLngLr2r7G2HpdpKieVxw:21\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:21\nComment: \navcvVY+oLStwrCyd9ckR1NyDD95DviYwfsklSmskXs37iLYGWVIrCND56ougx4J/UfPTJMvNVAzMX1n1EXfeBg==\n"
            },
            {
                "metadata": {
                    "amount": 26,
                    "block": 2592,
                    "issuer": "HnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk",
                    "receiver": "5ocqzyDMMWf1V8bsoNhWb1iNwax1e9M7VTUN6navs8of",
                    "time": 1423406760
                },
                "state": 2,
                "txdoc": "Version: 1\nType: Transaction\nCurrency: meta_brouzouf\nIssuers:\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk\nInputs:\n0:T:680:C3F126B0D00C8CFC34459FE5E5F6C046E05B0D6B:15\n0:T:685:50705E36B6A3AB078D60AAFDDDC48B5878180858:3\n0:D:714:00000982118DF0D23E3B6A8A60A894386948E00A:100\nOutputs:\n5ocqzyDMMWf1V8bsoNhWb1iNwax1e9M7VTUN6navs8of:26\nHnFcSms8jzwngtVomTTnzudZx7SHUQY8sVE1y8yBmULk:92\nComment: \nOpXVPYLcOKCNjIvoBJBjTwInWq2O52DzYAYn2HIbg0J0SwYsQEKRnYShYTjNBUogpE/B7eSotJ5ZfB5BY2lYCg==\n"
            },

Ok I managed to reproduce the bug.
What is strange is that even when sending money from multiple wallets, all transactions still have the same receiver... But the cache is different for all wallets. I really don't get what is happening there. Still investigating...

Fixed https://github.com/ucoin-io/cutecoin/commit/7c4d3a1e7e6bdf6f67861176cbf98a9da5940af2

authors: Insoleet c-geek

repo: ucoin-io/cutecoin


text:
nav and auth

added landing and connected tabs and other pages

LGTM

authors: Bravo-Luis kendrick-lee


text:
ivt meaning

What is the meaning of ivt in YML file? I guess it is the interrupt vector table. For example, I browsed the maximum ivt address of the datasheet of stm32f407, which is 184. However, compared with the ivt size, 0x800000, in the stm32_tcp_echo_server.yml, it is much lower. How could I change ivt based on personal setting?
Furthermore, some YML files point out ivt and flash in memory_map, but others point out ivt and rom. What is the difference?
Thanks for your prompt attention.

Indeed, IVT here means Interrupt Vector Table. Those sections don't have any special meaning based on their names, but we noticed that some chips map the firmware twice, to put their vector table in known fixed location, typically 0.
In short, if your firmware needs something at 0, put it there, else, you can safely ignore it.

repo: ucsb-seclab/hal-fuzz


text:
Add project proposal for SoR'24

Add a project proposal by for the Summer for Reproducibility 2024, a collaboration between Technical University of Munich & University of Chicago

@gallenmu can you add your headshot to your biosketch? The rest looks great.

authors: gallenmu slieggi


text:
Pythonic unit test module

Create a tests module and add __init__.py file
Rename solution_test.py to tests/test_solution.py
Run tests calling python -m unittest

@luisguiserrano Any updates on this? :-)

@cgearhart done!. This PR contains only the unit test modifications.
I will open the following issues:

Update .gitignore list of files.
Improve README.md formatting.
Improve pydoc at initial solution file.

@cgearhart any updates on this?

@cgearhart any updates on this?

Sorry -- I'm reviewing the new PR now.

authors: cgearhart jpventura

repo: udacity/AIND-Sudoku


text:
设计 -> 6. 可视化编码的专家之言

课程导航+地址
设计 -> 6. 可视化编码的专家之言
截图

具体描述

“常被用于散布图表达额外的变量编码 随后的页面将探讨这一点” 这句话中间的空格似乎应该换成其它标点符号。
文字内容里的圆括号似乎都是用的半角，感觉应该用中文的全角。:)

已经修改，感谢反馈！

authors: Kyliewang jojojojoe

repo: udacity/band-issues-cn


text:
Plans to upgrade to Guzzle 5?

Hey all!
Any plans on upgrading to Guzzle 5?

@nathanielks - not at the moment, but will in the future.
While I've been using this library successfully on guzzle 4 with the current command & service libraries, I'm dragging my feet while @mtdowling works on getting those libs to a stable release - then I'll get to updating.
Anything pressing that the library doesn't do for you now?

@kmfk it works just fine! Thanks for sharing this with the world! When I was running unit tests there's an obscure exception thrown in guzzle/guzzle-services. I believe the test case is whenever the Segment API expects certain parameters and doesn't receive them. The guzzle exception class expects 2 parameters, but second isn't the type it's expecting: https://github.com/guzzle/guzzle-services/issues/47. The error message specifically is:
'ErrorException' with message 'Argument 2 passed to GuzzleHttp\Command\Exception\CommandException::__construct() must be an instance of GuzzleHttp\Command\CommandTransaction, instance of GuzzleHttp\Command\Guzzle\GuzzleClient given

IRC, with the release of Guzzle 5, there isn't any intermediate versions of guzzle-services that fix the bug and can be used with Guzzle 4. I was in a rush and don't remember testing guzzle-services 0.4. Le sigh...

To be more specific ( after having done research ), guzzle-services 0.4 required guzzle/command 0.7, which is for Guzzle 5.

@nathanielks - out of curiosity, what was the test that caused the exception? Is there an easy way to reproduce it?
There will be an inevitable move to guzzle 5, but in the meantime, I wonder if its possible to better handle that exception in this client until we make the move.

@kmfk IIRC, the exception is thrown when a bogus or empty write key is provided and it can't communicate with Segment.

@nathanielks - sorry for the delay.  Was hoping to see a major version on guzzle/command and guzzle/guzzle-services, but didn't feel like waiting any longer.
https://github.com/uecode/segment-io-php/releases/tag/1.1.0

authors: kmfk nathanielks

repo: uecode/segment-io-php


text:
Getting this error on windows , any idea why ?

OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.

I don't understand at all. Please give all reproducible info, like in what stage of using this repo is it? What is OMP? Do you include error message or something else?
reopen if you continue

authors: Gldkslfmsd jkfnc


text:
Parameter '$force' of routine 'content' must be an object instance of type 'Bool'

Tried an example:
#!/usr/bin/env perl6
use v6;
use Net::HTTP::GET;
my %header   = :Connection<keep-alive>;
my $response = Net::HTTP::GET("http://httpbin.org/ip", :%header);
say $response.content;

And got:
Parameter '$force' of routine 'content' must be an object instance of type 'Bool', not a type object of type 'Bool'.  Did you forget a '.new'?
  in method content at /usr/local/Cellar/rakudo-star/2017.07/share/perl6/site/sources/36086390562BFA84E0A8FA7DF5C58E1E3083E36C (Net::HTTP::Response) line 56
  in block <unit> at foo.p6 line 6

With MacOS and Rakudo 2017.07:
This is Rakudo version 2017.07 built on MoarVM version 2017.07
implementing Perl 6.c.

Thanks for letting me know 👍


text:
Type declaration on dynamic route params

Suggestion
For now, Rocon's dynamic parameter only accepts string type.
I think it would be better if I can use parameters with arbitrary types.
Motivation
Want to write type-safer Link component.
// Type Error!
<Link route={thirdRoutes.exactParam} match={{ id: "1" }}>Link1</Link>

// Passed!
<Link route={thirdRoutes.exactParam} match={{ id: 2 }}>Link2</Link>

Example
It might be like this.
const toplevelRoutes =
    Rocon.Path()
         .exact({ action: () =>

 })
         .route("second")
         .route("third");

type Name = "Michale" | "Lebron" | "Stephen";

const secondRoutes =
    Rocon.Path()
        .any<Name>("name") // <-
        .anyRoute()
        .hogehogehoge...

type ID = number;

const thirdRoutes =
    Rocon.Path()
        .any<ID>("id") // <-
        .anyRoute
        .hogehogehoge....

toplevelRoutes._.second.attach(secondRoutes)
toplevelRoutes._.third.attach(thirdRoutes)

or it is also good to define function to accept only primitive types.
const thirdRoutes =
    Rocon.Path()
        .numberParam("id") // <-
        .anyRoute
        .hogehogehoge....

Hello, sorry for not responding this. 😨
I have been seeking for a general way of solving this issue.
Unfortunately, .any<number> is impossible because path slug is always a string in runtime.
I might implement a type-safe runtime conversion layer when I have time, which would work like this:
Rocon.Path()
  .any("id")
  .attach(
    // API is just a rough sketch
    Rocon.Conversion("name", toNumber, fromNumber)
  )

repo: uhyo/rocon


text:
Unable to open links in email (it redirects the iframe instead)

Refer to the following (valid for 24th, and 25th sept) link for example of issue
https://inboxkitten.com/inbox/uit-tenant-1537798995878/detail/se-eyJwIjpmYWxzZSwiayI6IjQ3ZGE1NDNjLWQwYmQtNGRiMi1hOTA5LWQyNjRlZGVhZTlkYiIsInMiOiIyNTI0MDEwMTk0IiwiYyI6InRhbmtiIn0=
For the test case on this issue see
https://test.uilicious.com/test/public/1YPGN8KNKBVvQ5tbYbwcYk

Fixed in https://github.com/uilicious/inboxkitten/commit/a5c466c20d18db73010d4aa5c7a9c2ee221ac6c2

Validation test : https://test.uilicious.com/test/public/FhMTzDKUkZG5Qh6zTjw3BG

repo: uilicious/inboxkitten


text:
Prettify list encoding

More closely match official TOML examples for arrays by excluding trailing commas. Also makes dump_list more Pythonic.
For example, the return value for
print(toml.dumps({"data": [1, 2, 3, "abc"]}))
that used to be
data = [ 1, 2, 3, "abc",]
will now be
data = [ 1, 2, 3, "abc" ]

Codecov Report

Merging #349 (99d17a2) into master (3f637db) will decrease coverage by 89.74%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #349       +/-   ##
==========================================
- Coverage   89.74%   0.00%   -89.75%
==========================================
  Files           5       5
  Lines        1063    1062        -1
==========================================
- Hits          954       0      -954
- Misses        109    1062      +953

Impacted Files
Coverage Δ

toml/encoder.py
0.00% <0.00%> (-88.33%)
:arrow_down:

toml/ordered.py
0.00% <0.00%> (-100.00%)
:arrow_down:

toml/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

toml/decoder.py
0.00% <0.00%> (-89.80%)
:arrow_down:

toml/tz.py
0.00% <0.00%> (-88.24%)
:arrow_down:

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 3f637db...99d17a2. Read the comment docs.

Codecov Report

Merging #349 (99d17a2) into master (3f637db) will decrease coverage by 89.74%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #349       +/-   ##
==========================================
- Coverage   89.74%   0.00%   -89.75%
==========================================
  Files           5       5
  Lines        1063    1062        -1
==========================================
- Hits          954       0      -954
- Misses        109    1062      +953

Impacted Files
Coverage Δ

toml/encoder.py
0.00% <0.00%> (-88.33%)
:arrow_down:

toml/ordered.py
0.00% <0.00%> (-100.00%)
:arrow_down:

toml/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

toml/decoder.py
0.00% <0.00%> (-89.80%)
:arrow_down:

toml/tz.py
0.00% <0.00%> (-88.24%)
:arrow_down:

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 3f637db...99d17a2. Read the comment docs.

authors: codecov-io jcbrockschmidt

repo: uiri/toml


text:
Improve name search.

Added corresponding base field to most of _trigram fields in queries, so that if we have company name like A & B then it can be searchable.

Codecov Report

Merging #681 into develop will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #681      +/-   ##
===========================================
+ Coverage    96.54%   96.54%   +<.01%
===========================================
  Files          128      128
  Lines         3906     3908       +2
  Branches       340      340
===========================================
+ Hits          3771     3773       +2
- Misses          94       95       +1
+ Partials        41       40       -1

Impacted Files
Coverage Δ

datahub/search/interaction/views.py
100% <ø> (ø)
:arrow_up:

datahub/search/company/views.py
100% <ø> (ø)
:arrow_up:

datahub/search/event/views.py
100% <ø> (ø)
:arrow_up:

datahub/search/contact/views.py
100% <100%> (ø)
:arrow_up:

datahub/search/omis/views.py
100% <100%> (ø)
:arrow_up:

datahub/company/admin.py
87.09% <0%> (ø)
: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 ea6ce37...248f515. Read the comment docs.

Looks like a bit of a pain, is this a temporary fix? I mean you could easily miss out one or the other of the fields and it would be hard to notice. Is it just a sign that trigram isn't doing what we need?
Also do we need trigram for project_code?

Yeah I agree with @reupen, it looks like there should be another way as this seems a pain.

@reupen @marcofucci I agree that this is painful and indeed there should be a better way to define which field are searched what way, therefore this is only temporary fix that addresses companies having names shorter than 3 characters not being searchable. I think additional query only complements trigram where trigram wouldn't match.
I will remove project_code.

authors: codecov-io elcct marcofucci reupen

repo: uktrade/data-hub-leeloo


text:
다이어그램 처리 방법

p.80 에서 다음과 같은 다이어그램이 등장합니다.

스크릿샷 캡쳐해서 영어 그대로 사용한다.
최대한 비슷한걸 만든다.

어떤게 좋을까요

저도 조금 갈등인데 Words 로 바꾸니 저걸 추출할 수 있더라구요.
일일이 저자랑 이야기하려니 번거로워서 그걸 일단 가져다 쓴 다음에 저자가 리뷰하면서 의견을 주거나 그때 이야기하려 생각합니다. 이걸 챙기려다가 속도가 안날거 같아서요

이견이 없으시면 일단은 추출한 이미지들을 diagram 이라는 sub folder 를 만들어서 넣어두겠습니다.

./diagrams 디렉토리에 이미지 파일들을 올려두었습니다.

authors: kkweon nicewook

repo: ultimate-go-korean/translation