It’s a collision that we all knew was coming — after all, co-showrunners Christina M. Kim and Robert Berens previewed it for us in last week’s interview — but it did not make the big reveal any less surprising. In the riveting and action-packed mid-season finale, Nicky teams up with Henry, Althea, and Ryan to steal a pocket-size, glowing green dagger from a local museum. But before she can leave in the getaway car, Nicky crosses paths with Zhilan for the first time since the fateful night at the monastery, leading to a revelatory clash that leaves one of them wounded and knocked out.
The episode begins with all three Shen siblings at a crossroads in their personal or professional lives. After discovering the existence of the mysterious dagger, Nicky finds herself spending another late night with Henry in the library of the Chinese Community Center, where they manage to pinpoint the exact location of the weapon at a dig site in San Cristóbal, Bolivia. According to Nicky’s research, the weapon lay buried in a mine for over 150 years following an intentional mine collapse that killed two people: Edward Blount, a somewhat famous British explorer and collector of international treasures, and Li Jiang, a member of one of the guardian families who died trying to protect the dagger. Now, the dagger has been discovered and will be shipped to the fictional Reed Museum in … San Francisco.
But when Nicky and Henry meet up with Randall (Peter Dewhurst), who was the one who notified them of the existence of the dagger, they are dismayed to discover that Randall is planning to sell the dagger to the highest bidder, which means that the weapon could fall straight into Zhilan’s lap. When Nicky tells him that she can’t let that happen, Randall balks, insisting that selling the dagger will help him fund his more “righteous” operations — which ironically includes the repatriation of stolen artifacts — and leaving Nicky and Henry back at square one.
Back at the community center’s clinic, Ryan discovers that his working hours have gotten cut. When he confronts his supervisor, Dr. Chan (Sharon Crandall), about scaling back essential services while wait times continue to grow, he discovers that reduced funding from private donors and city grants has left the clinic on the verge of a devastating closure. (While the show has yet to make a major statement about the medical system in the U.S., it is clear that a lack of funding, even in metropolitan cities like San Francisco, has contributed to the plight of underserved and marginalized communities.)
After another successful day of wedding planning, Althea is approached in a dark parking garage by a lawyer who represents her former boss, Chase Matheson. (You’ll recall from earlier episodes that Chase also sexually assaulted Althea, leading to one of the most hard-hitting scenes thus far between Althea and Nicky in episode four.) In a story line that sadly feels all too familiar, the unnamed lawyer has tracked Althea down to give her an ultimatum: sign an NDA and receive a check for her silence, or risk damaging the reputations and livelihoods of those around her by speaking out.
Throughout the episode, Althea is forced to weigh the pros and cons of both options, but she is not able to work up the courage to tell Dennis the truth. “What if this all went away? … The food, the clothes, the cars? This apartment, your apartment? Big tickets, big trips, the big wedding? How do we know we’ll last if we’ve never really been tested?” Althea asks Dennis “hypothetically” during a really nice dinner one night, hinting that a talk between them could be coming soon but not quite yet. (Shannon Dang continues to play Althea with such a brutal honesty, and I feel it is much more realistic for Althea’s story line to play out gradually instead of all at once, because she has been struggling to come to terms with the assault for years.)
As the Shen siblings all grapple with their own problems, they are united in pursuit of an unlikely (and, quite frankly, ludicrous) plan. When she pays a surprise visit to Evan at the district attorney’s office, Nicky discovers — after overhearing a conversation between Evan and his co-worker/girlfriend, Sabine (Rebecca Olson) — that the Reed Museum will be hosting a special gala with the mayor. But when Nicky announces her plan to score last-minute tickets to the gala and steal the dagger, she is met with understandable resistance from Henry, who doesn’t think that they can do it alone. Instead, he enlists the help of her siblings, Althea and Ryan, who are determined to help her “make this an actual, workable heist.”
On the night of the gala, Nicky walks into the museum with Henry, Ryan, Althea, and Dennis — who is completely unaware of the big plan. When Dennis leaves to speak with some other partygoers, the quartet goes over their clandestine plans one last time: Henry will pick a lock, sneak into the server room, and use a USB to get into the mainframe computer. Then, Althea will get access to the museum’s entire security system, which will allow her to disarm any door and see in every corner of the building. Finally, when the mayor goes to make his big speech of the night, Nicky and Henry will sneak into the basement, where the dagger is likely being stored in a box after being shipped from Bolivia.
But once they get into the party, the foursome hits three personal roadblocks: Evan, Jin, and Mei-Li. When he sees Nicky walk in, Evan, who is already attending the high-end gala with Sabine, can’t help but question Nicky’s surprise appearance, considering that she doesn’t drink and doesn’t like social functions of any kind. Once she gives Evan some satisfactory answers — insisting that she is just there because Althea managed to score everyone last-minute tickets — Nicky returns to Ryan, Althea, and Henry, only for them to be approached by none other than Mei-Li and Jin. Unbeknownst to their own children, the Shen parents, who are on their first date in ages, were gifted tickets to the gala by their future in-laws, throwing another wrench in the quartet’s plans. Ryan, being the quick-witted person that he is, suggests that they all go to check out an exhibition of modern Chinese art, but that only leaves the group feeling more stuck as time begins to run out. (A lot of the focus in this hour is on the younger generation, but there are some equally nice moments with Mei-Li and Jin that show how well they know each other after decades of marriage. Seeing Asian love depicted in this way has been so beautiful.)
Thankfully, Nicky, who is able to use some quick thinking of her own, accidentally bumps into Henry and spills red wine all over the front of his tuxedo shirt. The Shen siblings and Henry use this as an excuse to leave and put their plan into motion, with everything (mostly) going off without a hitch. When Evan intercepts Nicky again midway through the heist, saying that he knows when she’s lying, Nicky brushes him off and insists that she’s “just here for the party.” (The way they set up the shot, Nicky essentially rejects Evan again and goes straight to Henry to continue their plan … and that seems rather emblematic of how things have gone so far this season. Yikes, #TeamEvan.)
By the time they get to the storage room in the basement, Nicky and Henry are able to quickly find the box that holds the dagger, which is wrapped in an additional piece of cloth, but they are immediately told to “hand it over” by unnamed armed mercenaries who had been tracking their every move. Henry is able to de-escalate the situation by convincing the three men to put away their weapons in order to avoid alerting security, but it is actually a ploy for him and Nicky to punch and kick their way out of the room as the ultimate dream team. Once they are able to knock out and tie up all three men, Nicky and Henry sneak out of the basement and return to the party, with the dagger held securely in the right pocket of Nicky’s dress. (Olivia Liang and Eddie Liu continue to steal the show as the strongest scene partners in this episode, and there are certainly a few character beats that are specifically designed to highlight their chemistry.)
Althea, whose work is also done for the night, is trying to enjoy the party when Dennis introduces her to a woman named Jane, whose daughter was treated in an oncology ward that was funded by Dennis’s parents. It’s at that moment that Althea realizes that the people around her, specifically her philanthropic future in-laws, have too much to lose if she speaks out against Chase, and she decides to sign the NDA after all. But there’s just one catch: She tells the lawyer to address a $500,000 check to the Chinese Community Center Medical Clinic, essentially saving Ryan’s job in the process.
Later, when Henry leaves to get the car, Nicky walks up to her siblings and tells them that she needs to leave and asks them to look after their parents. But before she can leave, Nicky sees Jin, who waves her over to speak with a woman named Charlotte Yang, a curator from the Beijing National Museum. The catch? The woman is actually Zhilan! (The direction from Joe Menendez and the cinematography from Neil Cervin are absolutely stunning throughout the episode, but they are elevated by Zhilan’s jaw-dropping reveal and the close-up shots that make it feel like she is staring straight into your soul.)
In a conversation that would leave anyone on the edge of their seats, Zhilan essentially taunts Nicky, saying that her team has been looking for an ancient dagger that is small enough to fit in a pocket. Jin, who is admittedly a little too sociable for my liking, tells Zhilan about his wife, his children, and their family restaurant — all without noticing that Nicky’s face has fallen. When she gets Nicky alone, Zhilan says that she once had a father too, but he was murdered and taken from her. Nicky tells her archnemesis to stay away from her family, but Zhilan retorts with a sinister smile, “What about your adorable partner in crime? You make quite the team. Together, you wiped out my men in seconds.” (Yvonne Chapman plays this villain in such a disarming and seductive way that you can’t help but love and hate her at the same time.)
Using more thinly veiled threats, Zhilan steals the dagger from Nicky’s pocket and places it in one of her own in one swift move before telling her to “stop fighting a dead shifu’s battles” and strutting away. Henry, who has since returned to the party, catches Nicky just as Zhilan begins to head for the exit. “She will kill you. Ever since we found out about the dagger, you’ve been driven by something … and I don’t think it’s justice,” he tells Nicky in a heated exchange before she tells him to “get my family out of here” and goes after Zhilan.
The martial arts on this show have improved by leaps and bounds since the pilot, and there is no greater evidence of that than in the second fight between Nicky and Zhilan in a back alley of the museum. While the villainess has the early upper hand, flooring Nicky with a backflip and astounding mid-air kick in the shoulder, Nicky strikes back, kicking Zhilan in the face and forcing the dagger out of her reach. The two trade blows while discussing the dead woman at the center of the battle: Pei-Ling. “[She] was no shifu. She was a thief and a murderer … Pei-Ling murdered our father! Your shifu ran to that monastery to hide from her crimes … to hide from justice,” Zhilan says before hitting Nicky in the stomach and flooring her again in an act of intense rage.
For her final coup de grâce, Zhilan retrieves the dagger, scrapes it across the concrete and delivers a potentially fateful blow to Nicky’s head, leaving the young woman’s life hanging in the balance …
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"4":4,"12":12,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]