[Event Request] CU1510 OnBeforeGetDocumentTypeAndNumber

In CU 1510 Notification Management, function GetDocumentTypeAndNumber has an event OnGetDocumentTypeAndNumber to handle tables that aren't included in the function.
Does not however allow us to replace the DocumentType and DocumentNo in the instance that we want to show something different in these two parameters for an existing handled table.
OnBeforeGetDocumentTypeAndNumber(NotificationEntry,RecRef,DocumentType,DocumentNo,IsHandled);
at the beginning of the function would allow us to do this.
In context:
During approval workflow, we convert a purchase quote to order and send a notification to the requestee. This should say "Purchase Quote x was approved", but it displays the created Purchase Order instead.
I want to use a manual event binding to display the Quote No. instead when this specific workflow step is called.
At the moment I am having to create a copy of the Notification Email report just so I can handle this.

I cannot implement this as NotificationEntry is not available in this context
OnBeforeGetDocumentTypeAndNumber(NotificationEntry,RecRef,DocumentType,DocumentNo,IsHandled);

The function GetDocumentTypeAndNumber is only called in two places:
Codeunit 1509 Notification Entry Dispatcher - CreateNoteBody
Report 1320 Notification Email - SetDocumentTypeAndNumber
Notification Entry is used in both of these functions; could the NotificationEntry parameter be added to GetDocumentTypeAndNumber, and then passed through from these functions?

I cannot change signature of External function
[External] GetDocumentTypeAndNumber(VAR RecRef : RecordRef;VAR DocumentType : Text;VAR DocumentNo : Text)

I can understand the reasoning, since you don't want to break partners existing functionality, but if changes like that can't be made I don't see how this software can improve efficiently without hacky solutions.
Surely if the function signature is updated, partner development must be updated to match; as should be expected with evolving software like this.
Without changing this function, or adding a new function to supplant it, the only way I can see to do this is to set a global NotificationEntry variable in the NotificationManagement Codeunit, and then using this in the requested event.

This is far from the neatest solution, but you've stated you can't implement the neatest solution.

An alternative scenario that is specific to our use case is to add the following event to Report 1320 Notification Email
However this does not support instances where Notifications are sent as Notes rather than emails. So only Notification Emails can be customised.


Allow for alternative verbiages for login link email

If I can be instructed as to how to test this please let me know.

 Translate Newsletter Sign-up Confirmation verbiage


web_benchmarks_html build_material_checkbox.html.averageDrawFrameDuration needs a baseline

cc @yjbanov .

Done.

Thanks for tracking the benchmarks!


Change names for syndi reinforcements

About the PR

Changes reinforcements names to random default human male names
Why / Balance

for MRP
its hard to stealth with name like "AMERICA" or "Punch McBeef"

Technical details

Media

[ ] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

Make sure to take this Changelog template out of the comment block in order for it to show up.
:cl:

tweak: Syndicate reinforcements now have default human male names.

ideally it would be a cvar, funny names are epic for lrp

is it hard to do?

fun fact: the deathcommando.yml was actually meant for death squad names

i don't see why this really is an issue. syndie reinforcements can't really stealth to begin with considering they're not on the crew manifest. the only thing this deals with is the intentional fact that they're meant to stick out pretty bad.

secoff PDAs actually dont get access to the crew manifest (they do, but they are dumb)

maybe nuclear operative reinforcements should get funny names, infact there should be a difference between syndicate and nuclear reinforcements so they can have different loadouts. currently they both use the same 'barratry' loadout

i don't see why this really is an issue. syndie reinforcements can't really stealth to begin with considering they're not on the crew manifest. the only thing this deals with is the intentional fact that they're meant to stick out pretty bad.

secoff PDAs actually dont get access to the crew manifest (they do, but they are dumb)

"there's this bug so i don't have to do anything"

I see no issue with this and like mentioned before, syndicate reinforcement agents are not really supposed to be stealth, they're supposed to be the guy to take eyes of you or at the very least help you with whatever.

dunno how to actually code cvars so


Adding text in slider thumb

Hello! Great project!... I had to modify this library adding texts in slider thumb... So why not a PR with this feature? The user can specify a text for the thumb with a prop called thumbText and style it with thumbStyleText.
I updated the example, but I don't know if include this here..

Would welcome this feature

ready to merge.

👍 lets do this

Did something happen?


writing large passwords in darwin leads to truncated password

Issue appears with "/usr/bin/security -i". When invoking 'add-generic-password', the password value is limited to < 1024 bytes it seems.

I will leave this open still (I closed pull request #85 that attempted to resolve it). Since the result of trying a value that is too big leads to strange results (broken expected password values), a solution that returns error on values > x is probably another way to solve this.

The behaviour is pretty weird actually:

The password value itself can be pretty big, but it is limited by the allowed input when using security in the interactive mode
The total input is limited to 2048 bytes when using a terminal
This can be extended to 4096 by writing everything at once (programmatically writing instead of using a terminal)
Writing more than 4096 bytes will result in a second command being executed that consists of everything after the first 4096 bytes (seems kinda insecure …)
go-keyring currently further artificially limits this by encoding the password in hex, thus making the input longer

i tried to mitigate this in #86

Can confirm that secrets are getting truncated in v0.2.0 on my mac. In my specific instance, I'm attempting to store a string of 2068 bytes but it gets truncated to 1996 bytes. The truncation is sometimes paired with a encoding/hex: odd length hex string error (see #80) but not always.
Downgrading to v0.1.1 fixes the issue for me.

Following up – The truncation is due to a limit imposed by the Mac OS. This open source file appears to be where the add-generic-password command is defined. In this file I see this line that appears to set the max secret limit:
/* Maximum length of an input line in interactive mode. */
#define MAX_LINE_LEN 4096

I'm unable to definitely link the 4096 limit to the command, but all evidence points to there being a 4096 byte limit somewhere.
My conclusion is that the hex encoding introduced in v0.2.0 effectively halves the practical secret length limit for this library. At best, this limits the practical applicability of this library. But at worst, it can cause nefarious bugs to pop up since the truncation occurs silently. In our case, we were trying to store a JWT token which only slightly exceeded the limit, but in theory, some JWTs could skirt right underneath that limit and fail intermittently if the payload is large enough.
I plea to the maintainers of this library to:

Rethink the hex encoding to enable storage of longer secrets
Enforce the 4096 byte limit at the time of storage to eliminate instances of truncation

Rethink the hex encoding to enable storage of longer secrets
Enforce the 4096 byte limit at the time of storage to eliminate instances of truncation

i did both of those in my PR #86
You can use my patch by adding replace github.com/zalando/go-keyring v0.2.1 => github.com/fiws/go-keyring v0.0.0-20221010191512-5b6827277d3b to your go.mod

@fiws Thanks for the PR. This is now merged. I hope it improves the experience.

@mikkeloscar 👋🏻 Would it be possible to cut a new release with the fix bitte? 🙏🏻

v0.2.2 is now tagged!


Running WebExport blanks screen once 1000 objects in scene added.

Tested versions
v4.3.dev3.official[36e943b6b]
System information
Godot v4.3.dev3 - Windows 10.0.19045 - GLES3 (Compatibility) - NVIDIA GeForce GTX 1070 (NVIDIA; <IP_ADDRESS>49) - Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz (12 Threads)
Issue description
When running a scene with 1000 objects in a scene in a webexport (both on a server and from the editor), the screen blanks and nothing is visible apart from the background colour of the scene.
With 999 objects, it works;

With 1000 objects, it blanks out everything that was in the scene already.

Steps to reproduce
Add 1000 objects to a scene.  Run it normally, it'll work.  Add a 'webexport', turn off threading in the export, and hit 'run in browser' and the project exhibits the problem.

Minimal reproduction project (MRP)
WebExport1000.zip

Perhaps this is connected to rendering/limits/spatial_indexer/threaded_cull_minimum_instances? Can you try increasing that limit and seeing what happens?
Or conversely lowering the limit and seeing if you can reproduce the issue with fewer objects?

That was exactly it.  Bumping it up, gets it working, lowering it down to a 100, stops it working past 99 objects in a scene.  Thank you, hadn't seen that setting/understood what it was used for.
Is this something I can set in the code/something for a scene property to get it to roughly have an idea when it needs to worry about culling, or just be careful for webexports and check/set it a few % above the amount of objects you think you'll need in the scene?  Is there a way around this, or am I doing something wrong.
Also tested, when it goes too high and everything disappears, removing nodes WILL make everything re-appear again.  I thought everything in the scene had disappeared, but it was just waiting to get down below that number to display again.
Thanks for the heads up on where to look for this setting.  I'll make note to check on node counts in a scene before webexports.


Render and Update GameObject functions should mention they render and update children

Right now the docs just imply it only renders the game object itself. https://github.com/dequelabs/axe-api-team-proposals/pull/191/files

Fixed in https://github.com/straker/kontra/commit/2715614b275999446dd24f7faf44517d4c1ab9dd


Add inglidience from recepy

abillity to add missing ingrudionce to a user list if it is showen ass missing inn the recepy.

Let me know if I understand correctly. A user checks out the recipe above an remember that they do have Brandy at home. Then a user should be able from here to add it into its ingredient list?
Should work both ways. Add and delete
Do you have an idea on how to display this in the app? 😄

Hold for a menue to remove or add to the selected bar.
today single tapp is add red line over a  ingledience.
so hold shuld show a message that
The item wilbe added.

Hold for a menue to remove or add to the selected bar.
today single tapp is add red line over a  ingledience.
so hold shuld show a message that
The item wil be added /removed.
higliting the ingredience and using the orginal posission of it shuld not interfare with long ingredience name when the add text is abow.

Maby a choice of ((bar  / user)) shuld be used / showen

@Qreed213 Thank you for the screenshots! Great feature I will try to implement something like this. Will try to update on the progress in this issue 🚀

im working off pocket paint on Android so this is a rough picture and idea. sorry for the terrible english.

I'm just trying stuff out for now. Any feedback on this? @Qreed213 😄

Super cool.
This looks good
Im no coder so i dont konw how this is to implement.
i was thinking that hold down on ingridience chuld do multiple things.
like
= Add/ remove to/from bar
= Coppy ingridience (( to coppy was something that i was trying to do sints i wanted to paste it into shoppinglist and a serch engen))
but ther shuld be a way to se what bar/user it is worked on (( if i scroole way down i dont se my 4B)) but i alsow se a possible problem if the ingredience is SUEPR LONG and the BAR / USER name is super loang.

i have more idea but coppy shuld be easy :s

Great ideas! I will create a release for add/remove from bar and copy ingredient name to clipboard.
Add ingredient directly to shopping list would be awesome, it is a little more work so I will release this in 2 parts.
Thanks you and Cheers!

Adding the same functionality if you long press on a cocktail. It should let you add/remove from favorites

Unintended bugg / unwanted.
the hold add/ remove and copy wil be triggerd while ''scrolling''
https://github.com/MOIMOB/drinkable/assets/36892515/06d67e3a-4c89-4844-bf94-8009072f7edf


webpack_require.i(...) is not a function when using useRouterHistory from react-router

I'm submitting a bug report
Webpack version:
^2.1.0-beta.25
Please tell us about your environment:
OSX 10.10.5
Current behavior:
in console:
script.js:11  Uncaught TypeError: __webpack_require__.i(...) is not a function

in compiled file:
var browserHistory = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6_react_router__["useRouterHistory"])(__WEBPACK_IMPORTED_MODULE_8_history_createBrowserHistory___default.a)({
  basename: ''
});

in original file:
import {useRouterHistory} from 'react-router';
import createBrowserHistory from 'history/createBrowserHistory';

const browserHistory = useRouterHistory(createBrowserHistory)({
  basename: ``
});

Browser: [all]

Language: [ES6/7 | ES5]

@mjackson @ryanflorence have you seen this reported before or come across this issue. Wanted to double check with you first before digging into this one.

@TheLarkInn can we assume that's a no?

I'm getting this issue now in 2.2.0-rc.1
start.js:17 Uncaught TypeError: __webpack_require__.i(...) is not a function
    at Object.<anonymous> (:8000/js/webpack:/src/client/entries/start.js:17)
    at __webpack_require__ (:8000/js/webpack:/webpack/bootstrap c2fcd5c90dda3e7f314b?3cfd:19)
    at initialize (:8000/js/webpack:/src/client/bootstrap_start.js:3)

here is the code that is causing the issue
const store = createStore(rootReducer, ({ locale }) => ({
    geocodeService: geocodeService(locale),
    googleMapsApi
}))(window.__INITIAL_STATE__);

I have the same issue :(


Unable to determine source from module subfolder

I like this extension, but ran into a limitation.
If you import a module from a subfolder, e.g. import IconButton from 'material-ui/IconButton', the extension returns "Error: No repository found!." It would be nice if it climbed its way up the tree by stripping subfolders until it found an existing package.

Thanks for your contribution! I merged your changes and will be releasing a new version today that contains your changes. Sorry for the delay.


Merge rearchitecture to master

The rearchitecture has been live (deployed from dev) for about a week with no issues. Let's make it official!

I'm not sure if vercel will scream, so lets

Disable vercel
Merge this PR
Switch GH pages branch to main

assuming the switch is seamless, users will not notice anything wrong
Am I missing anything else that needs to happen?

I can't think of anything else! I don't have perms to disable vercel so... @NickBurnett ?

@ez314 You can just disable it since you have bitwarden access.


make sure there is an index on the sender id

Proposed changes:

improve sql tracker store performance by creating an index on the events table

Status (please check what you already did):

[x] made PR ready for code review

I guess we also need a migration for that, correct?

Awesome detective work btw 🚀

Won't do any automatic migration, as I don't want to introduce that into Rasa (unlikely that we will need more SQL queries / schema changes). I've added a note to the changelog and if the performance question with the SQL tracker store comes up somewhere, we should advise people to create that index manually.


Add debugging functionality to process page

Currently user can't rerun finished job - although under a normal circumstance, user should never have to rerun once it finishes. However, for application developer, it might be handy to rerun finished job.
We should add a capability to go into a "debug" mode that is somewhat obscured from the normal view but developer can use to see all hidden tasks and start / stop / rerun, etc.. regardless of the current task status.

Rerun button is now available to all users


Azure Data Studio - Show Hide Results Bar plus Keyboard Shortcut

Type: Feature Request
Within SQL editor, under the "View" menu or under the "Customize Layout" menu, I would like to suggest a visibility option to show or hide the "Results" & "Messages" tab(s) and to be consistent with naming-convention within the tool you might use "Results Bar" as the proper term.
In SSMS tool, this is done via keyboard shortcut [CTRL + R] which is the command to "Hide Results Pane" under SSMS > Window menu.
While Azure Data Studio does not have a "Windows" menu bar item necessarily, I find this feature highly useful while drafting T-SQL so would like to request it be added to Azure Data Studio as well.
I don't have any particular input on the "Notebooks" results display if there is an equivalent since I don't use that feature as frequently, but I'm sure the Product Owner or power-users of the "Notebooks" view can suggest.
Thank you.
Azure Data Studio version: azuredatastudio 1.48.0<PHONE_NUMBER>ef8254b7c22a5dc55af7f8a1dea93f, 2024-02-27T00:05:08.293Z)
OS version: Windows_NT x64 10.0.22631
Restricted Mode: No
Preview Features: Enabled
Modes:

+1
Or... move Results & Messages to tabs in Panel (along with Problems/Terminal/etc), which will be more consistent with VS Code usage and we can easily trigger with ctrl+~.


verification

how do i verify accounts

It's already mentioned in the past. You can see how to do it here #14.


Added --launch_path option to SDL builds

Added a command line option to SDL builds to make it easier to test Blits that handle file associations; returns the provided file from the get_launch_path() function as it does when launching an associated file on the 32blit itself.
TL;DR - saw the // TODO comment, and did :-)

adds TODO to not forget
forgets anyway
Who needs local testing anyway? :smile:

I took that TODO as an invitation to contribute :smiley:

Thank you! Might have to try this with my sprite editor.

Funnily enough I only ended up adding it when I started accidentally writing a BASIC interpreter...


Documentation request: Documentation for Analysis caching-related settings in the settings reference site

There are some settings in the "Analysis" subsection of the extension settings page that do not have descriptions in the Settings Reference page (https://code.visualstudio.com/docs/python/settings-reference).
In particular, I found that the settings "Caching Folder Path" and "Caching Level" don't have docs. This leads to some confusion: the "caching folder path" setting is blank by default - does this mean that there is no caching done, or that a default folder is used? The default setting for "caching level" is "Default," which is not very descriptive, and I'm unsure of the difference between the two other settings in the drop-down menu, "system" and "library."

This setting is an experimental feature that users aren't expected to change except for testing, hence the lack of documentation. Potentially, we should be removing them from the extension's info entirely until the feature is workable, though @karthiknadig this isn't something that we would do in this repo...


Localization - Facebook Messenger / Webchat

Hi,
The current thread CurrentUICulture is not set with the user localization in Facebook Messenger and Webchat.
The default culture (en) is set whereas Facebook Messenger is in French (tested on mobile with full french (os + app) and in the web site). I have the same behavior in the Webchat iframe, it's always in english (the http header of the browser is also set in french).
Do I missed something ?
Thanks

Hi,
I found a workaround. The primary issue is  the property activity.Locale is not set.
My workaround is to ask facebook to give me the user locale:
if (activity.ChannelId.Equals("facebook", StringComparison.InvariantCultureIgnoreCase))             {                 using (WebClient client = new WebClient())                 {                     var json =                         await                             client.DownloadStringTaskAsync(                                 $"https://graph.facebook.com/v2.6/{activity.From.Id}?fields=first_name,last_name,profile_pic,locale,timezone,gender&access_token=<PAGE_ACCESS_TOKEN>");                     dynamic jObject = JObject.Parse(json);                     string locale = jObject.locale;                     activity.Locale = locale.Replace("_", "-");                 }             }

I think the feature request would be to "set the activity locale from the facebook user's profile".

Added to our backlog for future consideration. Thanks!

Hello, it think still have this issue

me too

me as well

@Andrea-Orimoto what is the state of this task on your backlog after 3 years?


Deployable HTML page with orbital slider

Create a simple page that loads "localhost:9009//file.pdb" and "localhost:9009//file.adsk" (or similar) to render a molecule in stick representation, along with volume data with a isovalue slider.

I've created an html that has a simple GUI to visualize orbitals.


Add support for sub-objects

Add support for pointers to objects contained within parent objects.
The sub-object reference cannot outlive the parent and invalid object access should be handled with an exception in Python.

Working prototype in n16 branch in sandbox.
Needs tests and codegen.


Using the handleNextClick and handlePrevClick on keydown events

Hi! First of all, great package thanks a lot!
I was wandering if it was possible to call those functions (handleNextClick and handlePrevClick) on keydown events. Like for example, a user presses the "->" key and that would trigger the handleNextClick function.

Hi! Thank you, I really appreciate your feedback :)
In theory such a control can be added into the package itself, but I'm bot sure that the default navigation bar should intercept key presses of the whole page. It can break other part of application.
I'm ready to discuss if this should be inside the package or not, but currently you have a following option:

Make your PDF viewer controllable. So have your own state with the current page, and so you, inside your own code, intercept key presses, update your state and propagate it down to the PDF component
Make a custom navigation. In that case it's pretty much the same as option 1, but instead of controlling the page prop you'll just call a function to change page inside your custom navigation.

Let me know what do you think about these options :)

@MGrin  i made a custom navigation (option 2) and it worked like a charm. Much apreciated by the help, thanks a lot, if you ever come to Brazil the first round of beer is on me!

Hi  have create custom navigation and trying to call handlePrevClick, handleNextClick from that function but not working
<PDFViewer
document={{
url: file,
}}
navigation={CustomNavigation}
/>
const CustomNavigation = props => {
const classes = useStyles();
const { page, pages } = props;
console.log("props",props)
const { handlePrevClick, handleNextClick } = props;

function downloadPDF() {
  window.open(file, '_blank');
}

return (
  <div className={classes.brochureFooter}>
    <Grid container>
      <Grid item xs={4}>
        <CustomPrevButton
          page={page}
          pages={pages}
          handlePrevClick={handlePrevClick}
        />
        <CustomNextButton
          page={page}
          pages={pages}
          handleNextClick={handleNextClick}
        />
      </Grid>
      <Grid item xs={4}>
        <CustomPages page={page} pages={pages} />
      </Grid>

    </Grid>
  </div>
);

};

@MGrin i made a custom navigation (option 2) and it worked like a charm. Much apreciated by the help, thanks a lot, if you ever come to Brazil the first round of beer is on me!

HEY can you please help me i am also facing the same issue


need to add workers to MIQ_WORKER_TYPES

to create a new provider and it's workers you need to add the classes to MIQ_WORKER_TYPES
@jrafanie do you know why we just cant do like RefreshWorker.leaf_subclasses but need to list all explicitly?

@durandom Because we can't autoload every provider class and it's dependencies.  We need a better way to register workers instead of loading a whole provider

ok - @jameswnl so for now we'll have to add that to manual instructions for creating a new provider.
I dont think its worth automating that, although it should be easy (see how the Gemfile is modified by the generator)

This will be automated in https://github.com/ManageIQ/manageiq/pull/16416

PR merged.


Allow custom exception for vili validators

The error the user gets when he inputs invalid Input Action in config.vili is really hard to read.
It would be useful to add a custom exception system, the validator in the vili tree could contain an "exception" key that points to an entry in the hashmap passed by parameter to vld8

What it could look like :
From src/Core/Config/Validators/ConfigValidator.cpp (0.5 branch)
void invalidInputCombination(const vili::node& inputCombination)
{
    // Exception logic goes here, raise an exception with meaningful details
    // Suggest keys that were close to the input...
}

vili::object InputActionValidator = vili::object {
    {"type", vili::string_typename},
    {"regex", actionRe},
    {"on_failure", "invalidInputCombination"}
};


Use SpiceDB directly instead of NATS KV for ZedToken updates

NATS introduces an additional dependency for getting ZedToken updates that we don't really need if we can just use the SpiceDB Watch API. This PR updates the permissions-api server to use SpiceDB Watch instead for ZedToken updates.

Closing in favor of #257.


TypeError: Cannot read properties of undefined (reading 'tick')

when I try to run example , it hanppen a bug.

only run a fie -- index.js
NodeJS version is v16.17.0
npm version is 8.18.0

Code
import figures, {replaceSymbols, mainSymbols, fallbackSymbols} from 'figures';

console.log(figures.tick);
// On terminals with Unicode symbols:  ✔
// On other terminals:                 √

console.log(figures.mainSymbols.tick);
// On all terminals:  ✔

console.log(figures.fallbackSymbols.tick);
// On all terminals:  √

console.log(figures.replaceSymbols('✔ check'));
// On terminals with Unicode symbols:  ✔ check
// On other terminals:                 √ check`

Report bug
PS C:\Users\shish\code\command-tools> node ./bin/index.js
✔
file:///C:/Users/shish/code/command-tools/bin/index.js:7
console.log(figures.mainSymbols.tick);
                                ^

TypeError: Cannot read properties of undefined (reading 'tick')
    at file:///C:/Users/shish/code/command-tools/bin/index.js:7:33
    at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:533:24)
    at async loadESM (node:internal/process/esm_loader:91:5)
    at async handleMainPromise (node:internal/modules/run_main:65:12)  `

Hi @denghauran,
replaceSymbols, mainSymbols, fallbackSymbols and named exports. They are not part of the default export. The following should work:
import figures, {replaceSymbols, mainSymbols, fallbackSymbols} from 'figures';

console.log(figures.tick);
// On terminals with Unicode symbols:  ✔
// On other terminals:                 √

console.log(mainSymbols.tick);
// On all terminals:  ✔

console.log(fallbackSymbols.tick);
// On all terminals:  √

console.log(replaceSymbols('✔ check'));
// On terminals with Unicode symbols:  ✔ check
// On other terminals:                 √ check`

Those are typos in the README.md. I am going to create a PR to fix them.


I can use Autoscale for deployment in rancher 2?

metrics server is deployed in latest Rancher version. You can use YAML to deploy it. More metrics will be supported in 2.2
Close in favor of https://github.com/rancher/rancher/issues/13742


Utf8 addresses

Fix support of domain and addresses using non ASCII characters.

Current coverage is 65.28%

Merging #795 into master will increase coverage by +0.15% as of 0d5e35f

@@            master    #795   diff @@
======================================
  Files          111     112     +1
  Stmts         5631    5660    +29
  Branches         0       0
  Methods
======================================
+ Hit           3668    3695    +27
  Partial          0       0
- Missed        1963    1965     +2

Review entire Coverage Diff as of 0d5e35f

Uncovered Suggestions

+0.44% via ...oa/lib/ldap_utils.py#65...89
+0.42% via ...ailbox_operations.py#65...88
+0.37% via ...commands/init.py#52...72
See 7 more...

Powered by Codecov. Updated on successful CI builds.


A method for combining streams

One of the most common issues I see in new developers when they are trying to write a reddit bot is that they can't figure out how to stream more than one thing. The two recommended solutions of either breaking after a certain number of requests to check the other stream, or using multiple processes are unintuitive and often end up causing the developer more problems than they solve.
An approach like this
subreddit = reddit.subreddit("redditdev")
for item in praw.models.util.stream_generator([subreddit.comments, subreddit.new]):
    if item.fullname.startswith("t3_"):
        print("New submission")
    elif item.fullname.startswith("t1_"):
        print("New comment")

would be much easier to use. It would require multiple api calls to fetch a new batch, but users would already be doing that anyway if they were using multiple streams, and streams generally don't get any new items on the vast majority of their calls, so it's unlikely to even be noticed.
It would require somewhat significantly reworking how streams work. It would need to store a before parameter per function, and the arguments attribute_name and exclude_before would need to be passed in differently. It would also need to fetch all the items for the streams and manually sort them to return them in the correct order.
It might be simpler to rework streams into their own class, similar to the proposal in #1025

One problem that I see with having a combined stream is that streaming from multiple places leads to a lot of complications. How would you decide which request to make first? And in cases like streams from r/all, by the time one fetch finished on one method, you would miss out data from another method. The best approach so far is to use threads, not processes, because the biggest delay comes from network requests, so there is no need to use processes in order to go past the GIL.

You would run into the exact same rate limiting issues and miss posts from r/all any way you do it unless you use multiple tokens. You'll miss posts even just normally streaming r/all if you start using up requests replying to things.
But r/all is an edge case, combining streams would be useful for the many other use cases.

While r/all is an edge case, it also happens to be the stream used by any Reddit bot that's not subreddit specific, so it needs to be taken into consideration.

You're missing my point. While combining streams like this would cause problems if you combined something with r/all, it wouldn't be any new problems that don't already happen with the existing solutions. The only way to stream all and do anything else reliably is to use multiple tokens, which isn't recommended anywhere for obvious reasons.

I have prepared this method, which is just a copy of itertools.chain with a check that the element is not None to catch when the submission and comment streams are finished.
I have tested that it is functional but I have not checked it on any edge cases, because in my app I only use streams and inbox mentions.
Can I get your feedback?
def chain_listing_generators(*iterables):
    for it in iterables:
        for element in it:
            if element is None:
                break
            else:
                yield element

submission_stream = praw.subreddit('blah').stream.submissions(pause_after=0)
comment_stream = praw.subreddit('blah').stream.comments(pause_after=0)

for thing in chain_listing_generators(submission_stream, comment_stream):
    # do your thing

If I remember correctly, it was suggested to have them in separate processes. However I can see the usefulness here. Let's see what the others think.

Having them in separate processes wouldn't really accomplish anything. You would still be constricted by the rate limit and you would have to deal with all the various issues multiprocessing brings.
I think this is a much better approach than the commonly recommended one, but I still think users will hit issues when they forget to set the pause_after=0 and the first stream never exits.
In my opinion we should add this to the docs on the SubredditStream page as a suggestion for general stream combining, and use it to add a function like subreddit('blah').stream.comments_and_submissions(). But not add the chain_listing_generators as a public function by itself. That should cover the common cases without being too confusing on usage.

@LilSpazJoekp and @Watchful1 , thanks for the feedback.


Findings from Using Climacell

Hey, I pulled your component out to test it in my home assistant.
The only issue I have found relates to the metric conversion.
For the temperature, I had to comment out the lines that do the conversion. I think that the rain in mm, is right. I tried comparing it with the values from the REST API, but ended up getting a bit confused. Compared to weatherbit, it still seems a little low, but maybe that is expected. If you could point me in the right direction debugging wise, would help point me in the right direction.
One other thing that may be useful, is, since you are pulling all available values for each (hourly,nowcast,daily), might be useful to add the other values to either individual sensors, or maybe just as "state_attributes", so that they can still be accessed.
Again, great work!
Jack

One other thing, climacell integration was crashing for me, because it returned "breezy" as the condition. I just added: -
"breezy": ATTR_CONDITION_WINDY,
To const.py to fix it.
I would be happy to raise a PR if it helps


terraform_docs hook throwing errors depending on terraform format.

Hi All,
I had this strange problem with the hook that it would throw me
Terraform fmt............................................................Passed
Terraform docs...........................................................Failed
hookid: terraform_docs

2019/07/17 16:41:09 At 6:4: illegal char

Trying to debug it I checked the file on /tmp folder. Where I discovered which line was causing the problem.
...
     3	 }
     4	output "kubeconfig" {
     5	  description = "Kubernetes configuration file for kubectl"
     6	  })
     7	output "name" {
...

On the original terraform file this had been declared in the following manner
output "kubeconfig" {
  description = "Kubernetes configuration file for kubectl"
  value = templatefile("${path.module}/templates/kubeconfig.tpl", {
    cluster_name     = var.name
    cluster_endpoint = aws_eks_cluster.this.endpoint
    cluster_ca_data  = aws_eks_cluster.this.certificate_authority[0].data
  })
}

Changing this to
output "kubeconfig" {
  description = "Kubernetes configuration file for kubectl"
  value = templatefile("${path.module}/templates/kubeconfig.tpl",
    {
      cluster_name     = var.name
      cluster_endpoint = aws_eks_cluster.this.endpoint
      cluster_ca_data  = aws_eks_cluster.this.certificate_authority[0].data
    }
  )
}

solved the problem.
I'm running terraform >0.12.0 so I believe this may happen because of the terraform_0.12 hack.

@Bosmak Thanks for reporting this issue!
@cytopia It looks we have another problem case with awk hack. Could you please take a look into it?

Bump


Fix uninitialized constant RSpec::Matchers (NameError) again

First at all, thank you for nice gem. It helps me so much to test around instrumentation :)
But I got trouble to use this gem with error message uninitialized constant RSpec::Matchers (NameError) when rails server or rails console.
So I fixed to place require at top of module and it works.
This problem will reproduced by next steps

rails new some_app
write gem 'rspec-instrumentation-matcher' to Gemfile
bundle install
rails server or rails console

I tested it with

ruby 2.5.5
rails 5.1.5 and 5.2.4

Hi @vvlad, Could you review this?


[storage][metrics][recovery][doc] Add bookkeeper recovery metrics doc

Motivation
There is no metrics document for bookkeeper's recovery metrics, this PR is supposed to fix it.
Modifications

Add bookkeeper recovery metrics doc in reference-metrics.md. Referred to: ReplicationStats.java、LedgerFragmentReplicator.java、ReplicationWorker.java

Documentation
Check the box below or label this PR directly.
Need to update docs?

[ ] doc-required
(Your PR needs to update docs and you will update later)

[ ] doc-not-needed
(Please explain why)

[x] doc
(Your PR contains doc changes)

[ ] doc-complete
(Docs have been already added)


Property 'steps' does not exist

I recently installed @angular/material version 7.3.2 and I am trying to build my project for production:
ng build --prod
but and I keep getting this error:
ERROR in node_modules@angular\material\stepper\typings\index.d.ts.MatHorizontalStepper.html(1,68): : Property 'steps' does not exist on type 'MatHorizontalStepper'. Did you mean '_steps'?
node_modules@angular\material\stepper\typings\index.d.ts.MatHorizontalStepper.html(1,1033): : Property 'steps' does not exist on type 'MatHorizontalStepper'.
Did you mean '_steps'?
node_modules@angular\material\stepper\typings\index.d.ts.MatVerticalStepper.html(1,23): : Property 'steps' does not exist on type 'MatVerticalStepper'. Did you mean '_steps'?

https://github.com/angular/material2/blob/9ca5722d68274b7548ea0c20a7dd0031e6c7e317/src/cdk/stepper/stepper.ts#L257-L260
https://github.com/angular/material2/blob/9ca5722d68274b7548ea0c20a7dd0031e6c7e317/src/lib/stepper/stepper.ts#L87
https://github.com/angular/material2/blob/9ca5722d68274b7548ea0c20a7dd0031e6c7e317/src/lib/stepper/stepper.ts#L148
which is correctly used here
https://github.com/angular/material2/blob/9ca5722d68274b7548ea0c20a7dd0031e6c7e317/src/lib/stepper/stepper-horizontal.html#L2
@chr1soscl are you sure you also updated @angular/cdk to version 7.3.2?
a created a dummy project with a horizontal stepper with<EMAIL_ADDRESS>and<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>and running ng build --prod successfully works without the issue you described.

@macjohnny thank you very much. I believe this will fix my issue, I will test it this evening.


update based on  tessdata_fast at 7274cfa

I used the following script to generate updated langdata from 4.00.00alpha upload of tessdata_fast files.
The dawg files are unpacked using the lstm-unicharset for the wordlist, punc and numbers.
Also copied are config, version and unicharset files and a sorted list of unichars.
I have made an attempt to create plus.training_text which uses up to 20 words from a subset of the wordlist for each character in the unicharset and combines it with the existing training_text from 3.04, if available.

One problem with the generated $lang.plus.training_text is that it is biased in favor of words in the beginning of the wordlist. I will update those later in a separate commit.

I have regenerated the $lang.plus.training_text
Final version of script used:
#!/bin/bash
    fast_files=${fast_files}' '$(ls ./tessdata_fast/*.traineddata)
    for fast_file in ${fast_files}; do
        lang=$(basename "${fast_file##*/}" .traineddata)
        echo -e "\n ********************** " $lang " ****"
        combine_tessdata -u ${fast_file}  ./tessdata_fast/$lang.
        mkdir -p ./langdata_fast/$lang
        dawg2wordlist ./tessdata_fast/$lang.lstm-unicharset ./tessdata_fast/$lang.lstm-word-dawg ./langdata_fast/$lang/$lang.wordlist
        dawg2wordlist ./tessdata_fast/$lang.lstm-unicharset ./tessdata_fast/$lang.lstm-number-dawg ./langdata_fast/$lang/$lang.numbers
        dawg2wordlist ./tessdata_fast/$lang.lstm-unicharset ./tessdata_fast/$lang.lstm-punc-dawg ./langdata_fast/$lang/$lang.punc
        cp  ./tessdata_fast/$lang.lstm-unicharset ./langdata_fast/$lang/$lang.unicharset
        cp  ./tessdata_fast/$lang.config ./langdata_fast/$lang/$lang.config
        cp  ./tessdata_fast/$lang.version ./langdata_fast/$lang/$lang.version
##     shuf ./langdata_fast/$lang/$lang.wordlist > tmpwords.txt
        awk 'BEGIN {srand()} !/^$/ { if (rand() <= .01 || FNR==1) print > "tmpwords.txt"}' ./langdata_fast/$lang/$lang.wordlist
        sed -f langdata.sed ./langdata_fast/$lang/$lang.unicharset > tmp0.txt
        sort tmp0.txt > ./langdata_fast/$lang/$lang.unichars_sorted.txt
        sed 's/[]\.$^]/\\&/g'  tmp0.txt > tmp1.txt
        sed '/*/d' tmp1.txt > tmp.txt
        cat tmp.txt | while read target; do grep -F -m 20 $target  tmpwords.txt; done > tmp2.txt
        shuf  tmp2.txt > tmp3.txt
        cat ./langdata/$lang/$lang.training_text  tmp3.txt > tmp4.txt
        shuf tmp4.txt > tmp5.txt
        fmt -w 150 < tmp5.txt > ./langdata_fast/$lang/$lang.plus.training_text
       rm tmp*.*
    done

The data from tessdata_fast has a lot of problems – at least for deu, like bugs in the wordlists and in the unicharset. What would we gain if we replace the current status with the new one?
Those people who are interested in the extracted data can extract them on demand from tessdata_fast or tessdata_best.

I am still working on the langdata thing.

@stweil Thanks for bringing the problem with tessdata_fast to attention.
If the wordlist have bugs, should the corresponding dawgs be replaced in the traineddata files in tessdata_fast with corrected ones? Would that improve recognition
Regarding unicharset, the new additions via updates to desired_characters are not reflected in these traineddata files which are from June 2017.


Change LocalAuth to use Biometric API

Description
Migrates the LocalAuth plugin on Android to Biometric API for showing the fingerprint dialog. This will allow us to implement more biometric authentication schemes (and others such as PIN) in the future.
Related Issues
https://github.com/flutter/flutter/issues/18690
Breaking Change
This is a breaking change because it requires Flutter applications on Android to extend a FragmentActivity rather than a regular Activity. The fix is to use FlutterFragmentActivity instead of FlutterActivity. The y version has been bumped due to this.

@jiajiabingcheng Please take a look at this as well. It would be good if you copied this to Leafy's codebase and gave it a try.

It seems that we have to change the Activity manually, shouldn't this be mentioned on the readme?


New matcher for Armor points

I've been testing a new mod (RoughMobs) which increases the chances of random armor on mobs. As a consequence there is a lot more variety, which means checking for specific items like leather vs diamond isnt as useful for drop chances. I also intend to add MekanismTools when it's released which will add even more random armor possibilities.
Could you please consider a new matcher using net.minecraft.entity.EntityLivingBase#getTotalArmorValue so I can test for the total armor value regardless of how mixed up the mob's set is?
Thank you.

armorValueRange/isAtArmorValue, then?

What about armor(Min/Max/Range)? I not sure that isArmorValue would be particularly useful. If I were testing for an exact value I'd be testing for specific armor (ie, full diamond/etc). These matchers are for the generic how well armored is the mob.
armorMin: 8
armorMax: 5
armorRange: {min: 3, max: 8}


if the process to spawn doesn't contain a path, do a lookup in the host path of it

tested & working


No pods was created after executing benchmark

Hi,
I'm trying to run Pgbench.  After running the benchmark, no POD is created. Any idea what might be wrong? The same thing is when trying to run a benchmark for Fio, no PODs are created either. Any ideas on what's wrong?
I'm following the Quickstart Guide and Pgbench Sample Benchmark.
$ kubectl describe --namespace kubestone pgbench pgbench-sample
Name:         pgbench-sample
Namespace:    kubestone
Labels:
Annotations:
API Version:  perf.kubestone.xridge.io/v1alpha1
Kind:         Pgbench
Metadata:
Creation Timestamp:  2020-07-01T08:41:26Z
Generation:          1
Resource Version:    1708481
Self Link:           /apis/perf.kubestone.xridge.io/v1alpha1/namespaces/kubestone/pgbenches/pgbench-sample
UID:                 93ffbb6e-56a9-4efa-a77a-6b791084d0a8
Spec:
Image:
Name:     xridge/pgbench
Init Args:  -s 5
Postgres:
Database:  benchdb
Host:      postgres
Password:  admin
Port:      5432
User:      admin
Events:
$ kubectl get pods,jobs,configmaps,pvc --namespace kubestone
NAME             READY   STATUS    RESTARTS   AGE
pod/postgres-0   1/1     Running   0          10m
NAME                        DATA   AGE
configmap/postgres-config   3      10m
$  kubectl get --namespace kubestone pgbenches.perf.kubestone.xridge.io
NAME             RUNNING   COMPLETED
pgbench-sample
$ kubectl get pods -n kubestone-system
NAME                                            READY   STATUS    RESTARTS   AGE
kubestone-controller-manager-5f84574b86-955wz   1/1     Running   16         34h

can you tell provide what image you are running for the controller manager? theres been some issues with installing missmatched versions


Fix Android Q file creation

getExternalStoragePublicDirectory method is deprecated on Android Q, which means the folder is never created on Android Q devices, so we can not take a picture.
Thanks for submitting a PR! Please read these instructions carefully:

[x] Explain the motivation for making this change.
[x] Provide a test plan demonstrating that the code is solid.
[x] Match the code formatting of the rest of the codebase.
[x] Target the master branch, NOT a "stable" branch.

Motivation (required)
Cannot take a picture with Android Q devices.
Test Plan (required)
Run the demo app with Android Q device and use the following options on js code:
const options = {
      title: 'Select the new video',
      takePhotoButtonTitle: 'Record video...',
      storageOptions: {
        skipBackup: true,
        path: 'images',
      },
      mediaType: 'photo',
    };

@amadeu01 build import is missing.
Also as you are checking for Q in BUILD_VERSIONS, the code does not run as buildToolsVersion is not set as 29.0.0. I am not sure if changing the buildToolsVersion to 29 will break other react native packages.


Add event "If Actor In Boundary"

Please check if the PR fulfills these requirements

[X] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Adds the event "If Actor In Boundary". This event checks whether the specified actor is in the boundary. The boundary is rectangular, from top left (X1, Y1) to bottom right (X2, Y2).

What is the current behavior? (You can also link to an open issue here)
You cannot check whether an actor is in a boundary without using several events (slower) and quite a few variables. You can also attempt to fake this functionality using triggers, but that has its own drawbacks.

What is the new behavior (if this is a feature change)?
You can now easily check if an actor is in a specified boundary.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Not that I'm aware of.

Other information:
As with my previous pull request, not sure if I'm adding events correctly, but it works. It would be nice to add some visual indication in the GUI on the Game World page for where the boundary is, much like what can be seen with triggers or events like "Actor: Move To".

I like this idea! Would be great to have an option to define the boundary rectangle as a square with an actor in the center. Also +1 to add a preview of the boundary in the scene editor.

@pau-tomas thanks! That is a good idea! Would have to explore more how to do this. That was pretty much the intent with this; have an enemy in the center, when the player approaches, it starts chasing the player. This was the custom event I implemented in my game to handle this:
{
    "script": [
        {
            "id": "d150d11f-e049-4403-8300-e74fe1a7fc79",
            "command": "EVENT_ACTOR_GET_POSITION",
            "args": {
                "actorId": "0",
                "vectorX": "0",
                "vectorY": "1",
                "__collapse": true,
                "__label": "Store Entity Position"
            }
        },
        {
            "id": "48ccbf6a-b411-42bc-8710-d60f7166b7d2",
            "command": "EVENT_IF_VALUE_COMPARE",
            "args": {
                "vectorX": "0",
                "operator": ">=",
                "vectorY": "2",
                "__collapseElse": false,
                "__collapse": true,
                "__label": "Check if in X Boundary"
            },
            "children": {
                "true": [
                    {
                        "id": "b8df4204-c046-43a8-84c3-c0fc9f60f59e",
                        "command": "EVENT_IF_VALUE_COMPARE",
                        "args": {
                            "vectorX": "0",
                            "operator": "<=",
                            "vectorY": "3",
                            "__collapseElse": false
                        },
                        "children": {
                            "true": [
                                {
                                    "id": "6df2e3b5-a6c6-4b59-9a31-e46e754baad6",
                                    "command": "EVENT_SET_TRUE",
                                    "args": {
                                        "variable": "6",
                                        "__collapse": true
                                    }
                                },
                                {
                                    "id": "e525d832-78a7-4166-8ae6-311bc90f4270",
                                    "command": "EVENT_END"
                                }
                            ],
                            "false": [
                                {
                                    "id": "f5b82e65-6835-46d9-9b17-3551d159e8e8",
                                    "command": "EVENT_SET_FALSE",
                                    "args": {
                                        "variable": "6",
                                        "__collapse": false
                                    }
                                },
                                {
                                    "id": "994c0c8c-b787-4a2c-9d7f-1f58d62cafa2",
                                    "command": "EVENT_END"
                                }
                            ]
                        }
                    },
                    {
                        "id": "e284dc4d-139f-4cc7-8102-f305e384a015",
                        "command": "EVENT_END"
                    }
                ],
                "false": [
                    {
                        "id": "440c42e0-a640-4964-8acf-9f8266ab0e63",
                        "command": "EVENT_SET_FALSE",
                        "args": {
                            "variable": "6",
                            "__collapse": true
                        }
                    },
                    {
                        "id": "fb5472a7-d373-4861-8b1c-fb13bc7d45ea",
                        "command": "EVENT_END"
                    }
                ]
            }
        },
        {
            "id": "f4610856-3c82-4861-856f-c9468d3a916e",
            "command": "EVENT_IF_VALUE_COMPARE",
            "args": {
                "vectorX": "1",
                "operator": ">=",
                "vectorY": "4",
                "__collapseElse": false,
                "__collapse": true,
                "__label": "Check if in Y Boundary"
            },
            "children": {
                "true": [
                    {
                        "id": "d02af6b6-5ea5-4e31-94ef-c1a686bb1a10",
                        "command": "EVENT_IF_VALUE_COMPARE",
                        "args": {
                            "vectorX": "1",
                            "operator": "<=",
                            "vectorY": "5",
                            "__collapseElse": false
                        },
                        "children": {
                            "true": [
                                {
                                    "id": "cf0b931f-1191-49bf-a0c8-7da3e24af8cd",
                                    "command": "EVENT_SET_TRUE",
                                    "args": {
                                        "variable": "7",
                                        "__collapse": true
                                    }
                                },
                                {
                                    "id": "620b4c42-f5b3-4696-ab4a-13b82d615c4b",
                                    "command": "EVENT_END"
                                }
                            ],
                            "false": [
                                {
                                    "id": "35de854d-be2a-45fe-bf45-2cf8bd187c8b",
                                    "command": "EVENT_SET_FALSE",
                                    "args": {
                                        "variable": "7",
                                        "__collapse": true
                                    }
                                },
                                {
                                    "id": "2843f74a-96e1-44cb-b32f-03b81ce01048",
                                    "command": "EVENT_END"
                                }
                            ]
                        }
                    },
                    {
                        "id": "e8990054-4952-4229-be87-4689c6d3a002",
                        "command": "EVENT_END"
                    }
                ],
                "false": [
                    {
                        "id": "ca2d5ea8-3878-491d-af08-319e733889aa",
                        "command": "EVENT_SET_FALSE",
                        "args": {
                            "variable": "7",
                            "__collapse": true
                        }
                    },
                    {
                        "id": "820c1adf-0f4b-4603-b32a-49c668842d42",
                        "command": "EVENT_END"
                    }
                ]
            }
        },
        {
            "id": "6ab52b7a-f6c2-46c6-b13e-731a8d3ad807",
            "command": "EVENT_END"
        }
    ],
    "__type": "script"
}

Again, figured it would be more useful as a proper event. Cuts down on slowdown and variables.

Unfortunately, this isn't working when using variables for the boundary position. Will have to figure out the fix for that.

Unfortunately, this isn't working when using variables for the boundary position. Will have to figure out the fix for that.

That's too bad, it's a great feature that would be very useful


Cannot update when duplicated source

Summary
If there are multiple reads from the same source, only one will be updated.
Reproduce
foo.ts
import { join } from<EMAIL_ADDRESS>import { toFileUrl } from<EMAIL_ADDRESS>
deno run -A jsr<EMAIL_ADDRESS>foo.ts

It makes:
import { join } from "jsr<EMAIL_ADDRESS>import { toFileUrl } from<EMAIL_ADDRESS>

It fixed on v0.2.0


Error when creating certificates - ENTITY_ERROR.ATTRIBUTE.TYPE

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
Creating a certificate from sync_code_signing is producing an error.
Spaceship::UnexpectedResponse: [!] {
  "errors" : [ {
    "id" : "cd694b12-48f2-40be-8b15-af7fa17c5d16",
    "status" : "409",
    "code" : "ENTITY_ERROR.ATTRIBUTE.TYPE",
    "title" : "An attribute in the provided entity has the wrong type",
    "detail" : "Unexpected token (START_OBJECT), expected VALUE_STRING: Value is not string"
  } ]
}

Expected behaviour is to properly create a certificate.
Command executed
    sync_code_signing(type: "appstore",
                      storage_mode: "git",
                      git_branch: ENV["APPLE_DEVELOPER_TEAM_ID"],
                      git_url: "git@github.com:hidden/certificates.git",
                      team_id: ENV["APPLE_DEVELOPER_TEAM_ID"],
                      username: ENV["APPLE_DEVELOPER_LOGIN"],
                      app_identifier: ENV["APPLE_BUNDLE_ID"],
                      keychain_name: ENV["KEYCHAIN_NAME"],
                      keychain_password: ENV["KEYCHAIN_PASSWORD"])

Complete output when running fastlane, including the stack trace and command used
Seems to fail here:
  /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/spaceship/lib/spaceship/connect_api/api_client.rb:183:in `handle_response'
  /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/spaceship/lib/spaceship/connect_api/provisioning/client.rb:73:in `proxy_post'
  /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/spaceship/lib/spaceship/connect_api/provisioning/client.rb:37:in `post'
  /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb:52:in `post_certificate'
  /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/2.6.0/forwardable.rb:230:in `post_certificate'

mytours-rn git:(develop) be fastlane ios provision
[⠹] 🚀 WARNING: Nokogiri was built against LibXML version 2.9.10, but has dynamically loaded 2.9.4
[✔] 🚀
+------------------------------------+---------+----------------------------------------------------------------------------------+
|                                                          Used plugins                                                           |
+------------------------------------+---------+----------------------------------------------------------------------------------+
| Plugin                             | Version | Action                                                                           |
+------------------------------------+---------+----------------------------------------------------------------------------------+
| fastlane-plugin-yarn               | 1.2     | yarn                                                                             |
| fastlane-plugin-android_versioning | 0.5.3   | get_value_from_build increment_version_code set_value_in_build get_version_name  |
|                                    |         | increment_version_name get_version_code                                          |
| fastlane-plugin-cryptex            | 0.1.5   | cryptex cryptex_generate_keystore                                                |
+------------------------------------+---------+----------------------------------------------------------------------------------+
10:32:39: --- Step: Verifying fastlane version ---
10:32:39: ----------------------------------------
10:32:39: Your fastlane version 2.162.0 matches the minimum requirement of 2.96.1  ✅
[10:32:41]: ------------------------------
[10:32:41]: --- Step: default_platform ---
[10:32:41]: ------------------------------
[10:32:41]: Driving the lane 'ios provision' 🚀
[10:32:41]: ---------------------
[10:32:41]: --- Step: produce ---
[10:32:41]: ---------------------
+----------------+--------------------------+
|        Summary for produce 2.162.0        |
+----------------+--------------------------+
| app_name       | City Art Walk - Tauranga |
| skip_itc       | true                     |
| team_id        | my_git_branch               |
| username       |<EMAIL_ADDRESS>|
| app_identifier | com.mytoursapp.myappid   |
| sku            |<PHONE_NUMBER>               |
| platform       | ios                      |
| language       | English                  |
| skip_devcenter | false                    |
+----------------+--------------------------+
[10:32:44]: [DevCenter] App 'com.mytoursapp.myappid' already exists, nothing to do on the Dev Center
[10:32:44]: -----------------------------------------------
[10:32:44]: --- Step: Switch to ios code_sign_sync lane ---
[10:32:44]: -----------------------------------------------
[10:32:44]: Cruising over to lane 'ios code_sign_sync' 🚖
[10:32:44]: -----------------------------
[10:32:44]: --- Step: unlock_keychain ---
[10:32:44]: -----------------------------
[10:32:44]: Unlocking keychain at path: /Users/barnaclebarnes/Library/Keychains/appstore.keychain-db
[10:32:44]: -------------------------------
[10:32:44]: --- Step: sync_code_signing ---
[10:32:44]: -------------------------------
+--------------------------------+--------------------------------------------------------------+
|                                   Summary for match 2.162.0                                   |
+--------------------------------+--------------------------------------------------------------+
| type                           | appstore                                                     |
| storage_mode                   | git                                                          |
| git_branch                     | my_git_branch                                                   |
| git_url                        | git@github.com:myorg/certificates.git                      |
| team_id                        | my_git_branch                                                   |
| username                       |<EMAIL_ADDRESS>                                   |
| app_identifier                 | ["com.mytoursapp.myappid"]                                   |
| keychain_name                  | /Users/barnaclebarnes/Library/Keychains/appstore.keychain-db |
| keychain_password              | ********                                                     |
| readonly                       | false                                                        |
| generate_apple_certs           | true                                                         |
| skip_provisioning_profiles     | false                                                        |
| shallow_clone                  | false                                                        |
| clone_branch_directly          | false                                                        |
| force                          | false                                                        |
| force_for_new_devices          | false                                                        |
| skip_confirmation              | false                                                        |
| skip_docs                      | false                                                        |
| platform                       | ios                                                          |
| derive_catalyst_app_identifier | false                                                        |
| fail_on_name_taken             | false                                                        |
| skip_set_partition_list        | false                                                        |
| verbose                        | false                                                        |
+--------------------------------+--------------------------------------------------------------+
[10:32:44]: Cloning remote git repo...
[10:32:44]: If cloning the repo takes too long, you can use the clone_branch_directly option in match.
[10:32:47]: Checking out branch my_git_branch...
[10:32:47]: 🔓  Successfully decrypted certificates repo
[10:32:47]: Verifying that the certificate and profile are still valid on the Dev Portal...
[10:32:50]: Couldn't find a valid code signing identity for distribution... creating one for you now
+-------------------------+--------------------------------------------------------------+
|                                Summary for cert 2.162.0                                |
+-------------------------+--------------------------------------------------------------+
| platform                | ios                                                          |
| development             | false                                                        |
| generate_apple_certs    | true                                                         |
| force                   | true                                                         |
| username                |<EMAIL_ADDRESS>                                   |
| team_id                 | my_git_branch                                                   |
| keychain_path           | /Users/barnaclebarnes/Library/Keychains/appstore.keychain-db |
| keychain_password       | ********                                                     |
| skip_set_partition_list | false                                                        |
+-------------------------+--------------------------------------------------------------+
[10:32:50]: Starting login with user<EMAIL_ADDRESS>[10:32:51]: Successfully logged in
[10:32:52]: An error occurred while verifying your certificates and profiles with the Apple Developer Portal.
[10:32:52]: If you already have your certificates stored in git, you can run fastlane match in readonly mode
[10:32:52]: to just install the certificates and profiles without accessing the Dev Portal.
[10:32:52]: To do so, just pass readonly: true to your match call.
+------------------+---------------+
|           Lane Context           |
+------------------+---------------+
| DEFAULT_PLATFORM | android       |
| PLATFORM_NAME    | ios           |
| LANE_NAME        | ios provision |
| PRODUCE_APPLE_ID |               |
+------------------+---------------+
[10:32:52]: {
"errors" : [ {
"id" : "cd694b12-48f2-40be-8b15-af7fa17c5d16",
"status" : "409",
"code" : "ENTITY_ERROR.ATTRIBUTE.TYPE",
"title" : "An attribute in the provided entity has the wrong type",
"detail" : "Unexpected token (START_OBJECT), expected VALUE_STRING: Value is not string"
} ]
}
+------+-----------------------------------+-------------+
|                    fastlane summary                    |
+------+-----------------------------------+-------------+
| Step | Action                            | Time (in s) |
+------+-----------------------------------+-------------+
| 1    | Verifying fastlane version        | 0           |
| 2    | default_platform                  | 0           |
| 3    | produce                           | 2           |
| 4    | Switch to ios code_sign_sync lane | 0           |
| 5    | unlock_keychain                   | 0           |
| 💥   | sync_code_signing                 | 7           |
+------+-----------------------------------+-------------+
[10:32:52]: fastlane finished with errors
Looking for related GitHub issues on fastlane/fastlane...
bundler: failed to load command: fastlane (/Users/barnaclebarnes/.rbenv/versions/2.6.5/bin/fastlane)
Spaceship::UnexpectedResponse: [!] {
"errors" : [ {
"id" : "cd694b12-48f2-40be-8b15-af7fa17c5d16",
"status" : "409",
"code" : "ENTITY_ERROR.ATTRIBUTE.TYPE",
"title" : "An attribute in the provided entity has the wrong type",
"detail" : "Unexpected token (START_OBJECT), expected VALUE_STRING: Value is not string"
} ]
}
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/spaceship/lib/spaceship/connect_api/api_client.rb:183:in handle_response'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/spaceship/lib/spaceship/connect_api/provisioning/client.rb:73:in proxy_post'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/spaceship/lib/spaceship/connect_api/provisioning/client.rb:37:in post'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/spaceship/lib/spaceship/connect_api/provisioning/provisioning.rb:52:in post_certificate'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/2.6.0/forwardable.rb:230:in post_certificate'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/spaceship/lib/spaceship/connect_api/models/certificate.rb:88:in create'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/cert/lib/cert/runner.rb:191:in create_certificate'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/cert/lib/cert/runner.rb:54:in run'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/cert/lib/cert/runner.rb:13:in launch'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/match/lib/match/generator.rb:42:in generate_certificate'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/match/lib/match/runner.rb:169:in fetch_certificate'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/match/lib/match/runner.rb:96:in run'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/actions/sync_code_signing.rb:13:in run'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/runner.rb:263:in block (2 levels) in execute_action'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/actions/actions_helper.rb:69:in execute_action'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/runner.rb:255:in block in execute_action'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/runner.rb:229:in chdir'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/runner.rb:229:in execute_action'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/runner.rb:157:in trigger_action_by_name'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/fast_file.rb:159:in method_missing'
Fastfile:186:in block (2 levels) in parsing_binding'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/lane.rb:33:in call'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/runner.rb:204:in try_switch_to_lane'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/runner.rb:146:in trigger_action_by_name'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/fast_file.rb:159:in method_missing'   Fastfile:115:in block (2 levels) in parsing_binding'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/lane.rb:33:in call'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/runner.rb:49:in block in execute'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/runner.rb:45:in chdir'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/runner.rb:45:in execute'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/lane_manager.rb:47:in cruise_lane'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/command_line_handler.rb:36:in handle'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/commands_generator.rb:108:in block (2 levels) in run'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in call'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in run'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in run_active_command'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in run!'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in run!'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/commands_generator.rb:352:in run'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/commands_generator.rb:41:in start'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/fastlane/lib/fastlane/cli_tools_distributor.rb:119:in take_off'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/fastlane-2.162.0/bin/fastlane:23:in <top (required)>'
/Users/barnaclebarnes/.rbenv/versions/2.6.5/bin/fastlane:23:in load'   /Users/barnaclebarnes/.rbenv/versions/2.6.5/bin/fastlane:23:in <top (required)>'

Environment

### fastlane gems

Gem
Version
Update-Status

fastlane
2.162.0
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-yarn
1.2
✅ Up-To-Date

fastlane-plugin-android_versioning
0.5.3
✅ Up-To-Date

fastlane-plugin-cryptex
0.1.5
✅ Up-To-Date

Loaded gems

Gem
Version

did_you_mean
1.3.0

slack-notifier
2.3.2

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

terminal-table
1.8.0

plist
3.5.0

CFPropertyList
3.0.2

multipart-post
2.0.0

word_wrap
1.0.0

tty-cursor
0.7.1

tty-spinner
0.9.3

babosa
1.0.3

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

faraday_middleware
1.0.0

gh_inspector
1.1.3

rubyzip
2.3.0

security
0.1.3

xcpretty-travis-formatter
1.0.0

bundler
2.1.4

simctl
1.6.8

uber
0.1.0

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

httpclient
2.8.3

google-api-client
0.38.0

nanaimo
0.3.0

colored2
3.1.2

claide
1.0.3

atomos
0.1.3

xcodeproj
1.18.0

unicode-display_width
1.7.0

public_suffix
4.0.6

addressable
2.7.0

tty-screen
0.8.1

excon
0.76.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.3

faraday
1.0.1

faraday-cookie_jar
0.0.7

fastimage
2.2.0

json
2.3.1

mini_magick
4.10.1

dotenv
2.7.6

naturally
2.2.0

jwt
2.2.2

declarative
0.0.20

mini_mime
1.0.2

multi_json
1.15.0

signet
0.14.0

os
1.1.1

memoist
0.16.2

googleauth
0.13.1

rake
13.0.1

digest-crc
0.6.1

google-cloud-errors
1.0.1

google-cloud-env
1.3.3

google-cloud-core
1.5.0

google-cloud-storage
1.29.1

emoji_regex
3.0.0

aws-eventstream
1.1.0

aws-sigv4
1.2.2

aws-partitions
1.380.0

jmespath
1.4.0

aws-sdk-core
3.109.1

aws-sdk-kms
1.39.0

aws-sdk-s3
1.83.0

forwardable
1.2.0

logger
1.3.0

stringio
0.0.2

ipaddr
1.2.2

openssl
2.1.2

ostruct
0.1.0

strscan
1.0.0

date
2.0.0

fileutils
1.1.0

etc
1.0.1

io-console
0.4.7

zlib
1.0.0

mini_portile2
2.4.0

nokogiri
1.10.10

rexml
3.2.4

psych
3.1.0

mutex_m
0.1.0

oj
3.7.12

bigdecimal
1.4.1

webrick
1.4.2

fastlane-plugin-yarn
1.2

fastlane-plugin-android_versioning
0.5.3

commander
4.4.6

fastlane-plugin-cryptex
0.1.5

Running this from the command lane seems to work OK though:
bundle exec fastlane match appstore --verbose --storage_mode=git --git_branch="ABCDEYKK6" --git_url="git@github.com:certs/certificates.git" --team_id="ABCDEYKK6"<EMAIL_ADDRESS>--app_identifier="com.mytoursapp.someapp" --keychain_name="/Users/barnaclebarnes/Library/Keychains/appstore.keychain-db" --keychain_password="secret"

@barnaclebarnes We just ran into this same error on 2.163.0.
We use this in a CI environment so we can't necessarily run a manual command each time we need to create certs.  Have you had any luck figuring it out since you logged this?  We are kind of stuck right now.

This is a regression. We reverted Fastlane from 2.163.0 to 2.161.0 and it
resolved the issue. Based on this issue info, the breaking version appears
to be 2.162.0
On Wed, Oct 14, 2020, 3:31 PM CovertLeopard<EMAIL_ADDRESS>wrote:

@barnaclebarnes https://github.com/barnaclebarnes We just ran into this
same error on 2.163.0.
We use this in a CI environment so we can't necessarily run a manual
command each time we need to create certs. Have you had any luck figuring
it out since you logged this? We are kind of stuck right now.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fastlane/fastlane/issues/17384#issuecomment-708614498,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACTRJJALBF2KUF5BM2SRAX3SKX4B5ANCNFSM4SFHF2AQ
.

Could be a regression introduced in https://github.com/fastlane/fastlane/pull/17291
@joshdholtz could you take a look? 🙈 Thanks in advance!

Can do can do!


Find all references includes base member references for override members

class C {
    x;
}
class D extends C {
    /* start here*/x;
}

var c: C;
var d: D;
c.x; // This one should be excluded
d.x;

Find all references from the definition of D.x includes the reference c.x, but it should not. It is very noisy if you are only looking for references to that override member.

it works today as @CyrusNajmabadi outlined. in practice this works well, and we have not gotten any user feedback to contradict that.


Timex.format on a time without a timezone does not return valid ISO:Extended string

Steps to reproduce
dateTime = Timex.parse!("1/2/2015", "{M}/{D}/{YYYY}")

dateTime
|> Timex.format!("{ISO:Extended}")
|> Timex.parse("{ISO:Extended}")
# {:error, "Expected either Z or a valid timezone offset, but got ``"}

API function called
Timex.format/Timex.parse
Arguments provided
"{ISO:Extended}"

Description of issue
When I format something into {ISO:Extended}, it doesn't create a proper ISO 8601 string (at least not according to Timex.parse). The reason given from Timex.parse is that the timezone is missing. I don't know what the best solution is, perhaps format could give an error if ISO:Extended (or any format with a timezone) is used when there is no time zone information.

What are the expected results?

If format is successful with a specified format_string, I would expect that calling parse on the result with the same format_string should also be successful.

This is coming from having to update some old code that was running on v2 of Timex, and the solution to my original was to use ISO:Extended:Z. I actually really like the fact that you don't assume the local timezone when parsing a date; for some reason in most time libraries parsing a timezone-less time into UTC without actually changing the time is practically impossible, and can only be done by manually adding Z to the end of the string.

The problem here is that you are attempting to format something with no timezone information using a timezone-aware format. You must tell the formatter to assume UTC with the {ISO:Extended:Z} directive, this will ensure the formatted date/time is in UTC and suffixed with the Z timezone designation.

Exactly, but shouldn't format return an error when you attempt to format something with no timezone using a timezone-aware format?

Yes it should be returning an error, I'll make sure it does in the next release.


Create devcontainer.json

Summary
Describe the goal of this PR. Mention any related Issue numbers.
Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.

Do not think we will be merging this as I do not believe this is needed. If you feel otherwise, please open an issue to start a discussion.


Fix day of year defaulting for round up parser

Description
This change fixes the conflict gets when trying to round up input date ranges, specifically for the format "yyyy-DDD'T'HH:mm:ss.SSS". For this input format, we default day of year to 1 else default month of year and day of month to 1
Issues Resolved
#4285
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@Vishalks : You need to sign off the commits without which DCO check will fail. I think you can squash your commits into one and add -s flag for signoff. You can check more about DCO check here


Determine contract dependency resolution strategy

How should deployment-order (dependency trees) be determined, given a directory of clarity smart contracts with inter-dependencies?
Possible methods:

Explicitly defined migrations/deployments file.
SDK brute-forces / iterates through deployment attempts, using contract name reference error.
Clarity rust CLI command that can receive a bundle of contract sources and return back the dependency tree (this partially just pushes the problem to the rust codebase).

Use case:
Dev-UX with a future vscode extension that provides typed contract definitions for all available workspace clarity contracts. Note: this feature would probably start off as a manually invoked script.

I wonder if this should be closed - with Clarinet, there's a config file that allows devs to set dependencies for contracts


Making News card page shows art for Hostile Takeover

Might be related to #174, but when I open the card page for NBN: Making News (https://netrunnerdb.com/en/card/20109), I see the new revised art for Hostile Takeover:

I accessed the card page via search results, specifically a search for "e:core2|cac|hap|oac|dad t:identity", where I was trying to see all the IDs for the revised core plus deluxe expansions.

Braintrust (https://netrunnerdb.com/en/card/20094) also shows the art for Project Beale:

Ok, so a full list of card art which appears incorrectly on the site right now:
Weyland Consortium: Building a Better World - shows Jinteki: Personal Evolution
Hostile Takeover - shows Braintrust
Project Atlas - shows Nisei Mk II
The Cleaners - shows Project Junebug
Dedicated Response Team - shows Ronin
Elizabeth Mills - shows Snare!
GRNDL Refinery - shows Himitsu-Bako
Archer - shows Neural Katana
Caduceus - shows Swordsman
Hadrian's Wall - shows Wall of Thorns
Hive - shows Whirlpool
Ice Wall - shows Yagura
Shadow - shows Celebrity Gift
Beanstalk Royalties - shows Neural EMP
Punitive Counterstrike - shows Trick of Light
Shipment from Kaguya - shows Hokusai Grid
Jinteki: Personal Evolution - shows NBN: Making News
Braintrust - shows Project Beale
Nisei MK II - shows TGTBT
Project Junebug - shows Ghost Branch
Ronin - shows Data Raven
Snare! - shows Flare
Himitsu-Bako - shows Pop-Up Window
Neural Katana - shows Tollbooth
Swordsman - shows Wraparound
Wall of Thorns - shows Anonymous Tip
Whirpool - shows Closed Accounts
Yagura - shows Psychographics
Celebrity Gift - shows SEA Source
Neural EMP - shows Red Herrings
Trick of Light - shows Bernice Mai
Hokusai Grid - shows Weyland Consortium: Building a Better World
NBN: Making News - shows Hostile Takeover
Project Beale - shows Project Atlas
TGTBT - shows The Cleaners
Ghost Branch - shows Dedicated Response Team
Data Raven - shows Elizabeth Mills
Flare - shows GRNDL Refinery
Pop-Up Window - shows Archer
Tollbooth - shows Caduceus
Wraparound - shows Hadrian's Wall
Anonymous Tip - shows Hive
Closed Accounts - shows Ice Wall
Psychographics - shows Shadow
SEA Source - shows Beanstalk Royalties
Red Herrings - shows Punitive Counterstrike
Bernice Mai - shows Shipment from Kaguya

Fixed, thank you.

Errrr, seems this has been resolved by switching the cards, not the images, so decks I had built with any of the above cards have now completely changed?


about Account linking with OAuth

When the access token becomes expired Reacquire the access token by using the refresh token.
Is it correct?
Will all of this process be done automatically by google?
Does not the application need to implement processing?

Yes, when the access token expires, Google should call your token endpoint again with the refresh token to obtain a new access token. This is part of the OAuth specification.

thank you.


Django generic views are not recognized if imported with "from django.views import generic" statement

When Django's generic views are imported with the statement from django.views import generic and referred to with generic.TemplateView Pylance shows error: "TemplateView" is not a known member of module.
Environment data

Language Server version: Pylance language server 2020.8.0 (pyright 4b16a648)
OS and version: Ubuntu
Python version: Python 3.8.3
Django version: 3.0.8

Expected behaviour
Following code not cause an issue:
from django.views import generic

class MyView(generic.TemplateView):
    pass

Actual behaviour
This code causes error by Pylance.
from django.views import generic

class MyView(generic.TemplateView): # at this line error: "TemplateView" is not a known member of module
    pass

Error:
{
	"resource": "project/web/views.py",
	"owner": "_generated_diagnostic_collection_name_#0",
	"severity": 8,
	"message": "\"TemplateView\" is not a known member of module",
	"source": "Pylance (reportGeneralTypeIssues)",
....
}

Code Snippet / Additional information
First of all, line from django.views import generic is not the recommended way of importing generic views in Django.
In current version of the Django documentation it is only mentioned on the Step 4 of the tutorial.
If TemplateView is imported like this from django.views.generic.base import TemplateView there is no error and no problem.
But looking through our 7 year old project (we recently switched to absolutely fabulous and amazing Pylance) we always used from django.views import generic code.
And looking through the GitHub there are 32,008 code results for the string "from django.views import generic".
So the import maybe wrong and not officially recommended but it works and used by a lot of projects.
Is there any possibility that Pylance will be able to parse the code inside django.generic.views to understand where those classes coming from?

This should be working, because https://github.com/typeddjango/django-stubs/blob/master/django-stubs/views/generic/init.pyi declares that TemplateView is re-exported.

Returning to this, from django.views import generic appears to not work because in the django-stub project, https://github.com/typeddjango/django-stubs/blob/master/django-stubs/views/init.pyi does not re-export the submodule, but I'm not certain that it needs to do this.
@erictraut Do you know if this file needs to explicitly re-export the generic submodule (in a subfolder), or is this a bug in the import resolver or binder where should be accepting this code?
Maybe this code was valid due to some import side effect, but that'd strike me as strange to allow import django.views.generic but not from django.views import generic.

The current stub is doing something very strange. It's implicitly importing (and re-exporting) the submodule ".generic.base", but it's not implicitly or explicitly importing/exporting the submodule ".generic".
I think the correct fix here is to change the stub to:
from .generic.base import View as View
from . import generic as generic

The thing is that generic already exists as a submodule of views; why does it need to be explicitly exported?
import django.views.generic as generic  # works
from django.views import generic        # doesn't?

why does it need to be explicitly exported?

Type stubs are meant to be very explicit about which symbols are exported from where. By default, imported symbols are not re-exported, and submodules are not implicitly re-exported.

I don't know what's different between this case and say urllib: https://github.com/python/typeshed/tree/master/stdlib/urllib
Its __init__.py is empty (does not reexport its submodules), and yet we understand the form that's broken for django:

I don't think this is a case where the submodule needs to explicitly be re-exported; I'm not writing:
import django.views

django.views.generic

That does require a re-export.
In fact, if you remove the contents of view's __init__.py, it does work:

That last case to me says there's a bug where it's hiding generic for some reason when from .generic.base import View as View is present.

The statement import a.b allows you to access symbols in the a.b module. If you want to access symbols in the a module, you should include the statement import a.
Likewise, the statement from .a.b import c implicitly causes submodule .a.b to be imported, but it doesn't cause .a to be imported (or re-exported). If you want .a to be imported (or re-exported), you should do so explicitly.
The Python module loader unfortunately has a bunch of side effects that developers sometimes unknowingly rely upon. This is dangerous and fragile, and pyright intentionally honors only the explicit intent of an import statement.
In this case, the stub includes the statement from .generic.base import View as View. If the intent is to import (and re-export) .generic from this module, it needs to be made explicit.

@dimaulupov as a workaround you can add your own stub under your root folder to override our stub
typings\django\views\__init__.pyi
import django.views.generic as generic
from django.views.generic.base import View as View

This should be fixed in the next release.


ddl: support report error when replicate incompatible ddl

What problem does this PR solve?

Issue Number: close #9850
What is changed and how it works?

judge incompatible ddl changes for alter table

Check List
Tests

Integration test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
Please refer to [Release Notes Language Style Guide](https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/release-notes-style-guide.html) to write a quality release note.

If you don't think this PR needs a release note then fill it with `None`.

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/merge


Visual Programming for CP

i like the idea to program CP in a visual way
this is a follow up from https://github.com/circuitpython/web-editor/issues/20#issuecomment-2018916625
Initial Idea / thoughts:

get support for CP in OpenRoberta lab (git)
add blockly (openroberta fork) editor to this web-editor
use a node based visual flow based editor similar to NoFlo

i personally like the flow based version more than the blockly approach,
as its more of a real visual abstraction & appealing design..
Integration in current web-editor

add a side-by-side or top-bottom panel with the graphical representation
this way you can switch between both representations and ways to code seamlessly.
example for this for blockly: BlockMirror

Libraries
create a automagic conversion system to parse the libraries and create components for them.
(maybe as a build job on the library builds...)
as otherwise you would have no libs to use..
(its a to big burden for the lib maintainers to generate something special for the editor i think...)
Flow Based

for parallel branches of a graph we could use asyncio)
for sub-graphs we could use extra files that gets imported

that would make it very tidy in both representations

link collection

block based

blockly google project - base for most of the others...
blockpy blockly python for student use
make.playpiper.com - blockly CP code generation
BlockMirror - generate blocks from code
s3 extend Tekktrik on discord: It looks like you can use scratch with the Circuit Playground Express
EduBlocks hint from tannewt on discord

With support for HTML, micro:bit, CircuitPython, and Raspberry Pi, there's lots in EduBlocks to keep students engaged and learning.

flow based

NoFlo
vue flow diagram editor
litegraph.js

others

flowboard
visual-programming-codex collection of information on this topic in general

what do you think about this?
would be a PR including some simple beginner friendly visual editor be an option?
conclusion
it would be reasonable possible to include blockly based on the BlockMirror project in the web-editor.
after more research on the available flow-based UIs i think there is currently no easy fitting framework/library out there.. (without writing all the code-generation myself)
and there are already running editors available -
so is there any benefit in integrating it here?

what do you think about this?
would be a PR including some simple beginner friendly visual editor be an option?

and there are already running editors available -
so is there any benefit in integrating it here?

@makermelissa i love to hear your thought on this! :slightly_smiling_face:

There is https://edublocks.org, which was developed by Josh Lowe, and has been available for years. It is now available under the auspices of Anaconda. It knows about CircuitPython. It does not know about the web workflow, but I'm sure that could be added.

so you mean - it is better to integrate the web-workflow in this one?
(than the other way around)

I don't have an opinion about that. It depends on the structure of EduBlocks.